變數的追蹤
struct people
假設有乙個陣列int a[10],使用命令
(gdb)p a
$1 =
當時如果這個陣列是動態建立的,如int *a = (int *)malloc(10 * sizeof(int));,則會有不同
(gdb)p a
使用上面的命令只會輸出陣列中的第乙個元素,為了輸出整個輸出,可以使用下面的命令
(gdb)p *a@10
使用display/p
另外乙個有用的輸出命令是display/disp,這個命令會在每一次程式中斷執行時,輸出某個變數的值。遇見斷點,單步除錯等,只要中斷一次,就輸出一次,這樣就省的每次都輸入命令。
使用commandsl
使用commands命令,你可以做更多,你可以輸入一串命令,做你想做的很多事。不光可以輸入gdb命令,還可以使用call命令,呼叫**中的某個函式。假設,你有乙個佇列輸出函式printqueue(queue ),你可以如下,在某個斷點處呼叫這個函式。
(gdb)commands identifier
type commands for when breakpoint 1 is hit, one per line.
end with a line saying just "end".
>call printqueue(queue);
>end
這樣,每當到達identifier標定的斷點,都會呼叫函式printqueue。如果想取消這個函式呼叫,只需使用如下命令
(gdb)commands identifier
type commands for when breakpoint 1 is hit, one per line.
end with a line saying just "end".
>end
《用GDB除錯程式(二)》
gdb的命令概貌 啟動gdb後,就你被帶入gdb的除錯環境中,就可以使用gdb的命令開始除錯程式了,gdb的命令可以使用help命令來檢視,如下所示 gdb的命令很多,gdb把之分成許多個種類。help命令只是例出gdb的命令種類,如果要看種類中的命令,可以使用help 命令,如 help brea...
用GDB除錯程式
用gdb除錯程式 gdb概述 gdb是gnu開源組織發布的乙個強大的unix下的程式除錯工具。或許,各位比較喜歡那種圖形介面方式的,像vc bcb等ide的除錯,但如果你是在unix平台下做軟體,你會發現gdb這個除錯工具有比vc bcb的圖形化偵錯程式更強大的功能。所謂 寸有所長,尺有所短 就是這...
用GDB除錯程式
七 設定顯示選項 gdb中關於顯示的選項比較多,這裡我只例舉大多數常用的選項。set print address set print address on 開啟位址輸出,當程式顯示函式資訊時,gdb會顯出函式的引數位址。系統預設為開啟的,如 gdb f 0 set quotes lq 0x34c78...