簡體   English   中英

GDB結構輸出

[英]GDB structure output

我沒有和gdb一起工作很長時間,這感覺就像一個基本問題。

我試圖觀察一個結構,因為它改變但不是在特定點打破並打印出來我寧願讓應用程序正常運行並給我一個特定點的結構快照。 想一個執行動作(打印結構)而不是暫停執行的斷點。

我有興趣一次性查看結構的變化而不是逐步變化。 我可以通過printf得到我想要的東西,但gdb更優雅。

更新:感謝您的所有回復。 我想在特定點觀察一個結構,命令解決方案就是我需要的。 這非常有幫助。

一個不錯的方法是使用相關命令設置斷點,例如:

break main.c:100
commands 1
print data_structure
continue
end

這將運行兩個命令print data_structure並在達到斷點1時continue

如果您的數據結構所保存的信息可能會被多個代碼行更改,您還可以使用gdb的watch 請注意,它非常慢,所以應該小心使用。 命令部分是一樣的。

(gdb) break main
Breakpoint 1 at 0x80483b5:
(gdb) run
Breakpoint 1, main ()
(gdb) watch data_structure
Hardware watchpoint 2: data_structure
(gdb) commands 2
Type commands for when breakpoint 2 is hit, one per line.
End with a line saying just "end".
> print data_structure
> continue
> end
(gdb) continue

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM