gdb使用技巧

2021-07-25 03:35:21 字數 1115 閱讀 9310

1.斷點的設定

①普通斷點: b n(注:n為行號),或者是break n。

此方法過於簡單,不再舉例說明。

②條件斷點:b n if 邏輯表示式

注:以上兩種斷點型別中tbreak設定方法與break相同,只不過tbreak只在斷點停一次,過後會自動將斷點刪除,break需要手動控制斷點的刪除和使能。

demo:

1       #include

2       using namespace std;

3       int main()

4      

(gdb) break 7 if i==55

breakpoint 1 at 0x8048553: file test2.cpp, line 7.

(gdb) r

starting program: /home/wo/mypro/2016123/test2

breakpoint 1, main () at test2.cpp:7

7         i++;

missing separate debuginfos, use: debuginfo-install glibc-2.12-1.80.el6.i686 libgcc-4.4.6-4.el6.i686 libstdc++-4.4.6-4.el6.i686

(gdb) p i

$1 = 55

③rbreak的特殊用法

rbreak 可以跟乙個正規表示式。rbreak + 表示式的用法與grep + 表示式相似。即在所有與表示式匹配的函式入口都設定斷點。

demo:

#includeusing namespace std;

int a,b;

void outputa()

(gdb) rbreak output*

breakpoint 1 at 0x80485fa: file test2.cpp, line 7.

void outputa();

breakpoint 2 at 0x8048617: file test2.cpp, line 11.

void outputb();

GDB使用技巧

1 啟動 1 程式的執行引數。set args 指定執行時引數。如 setargs1020304050 show args 檢視設定好的執行引數。2 執行環境 path 設定程式的執行路徑。show paths 檢視程式的執行路徑。set environment varname value 設定環境...

gdb 使用技巧

實驗平台 linux gcc gdb 除錯正在執行的程序。多次 fork exec 的程式,從頭開始跟蹤非常麻煩。可以使程式停在我們感興趣的地方,然後用 gdb 去 attach。printf i am waiting for being attached by gdb.my pid d s d n...

幾則gdb使用技巧

分享一下我老師大神的人工智慧教程。零基礎!通俗易懂!風趣幽默!還帶黃段子!希望你也加入到我們人工智慧的隊伍中來!幾則gdb 使用技巧 gdb的功能強大,與帶gui 的偵錯程式相比有過之而無不及,使用也就相對複雜一些。一方面是它的親和力稍差,畢竟是給程式設計師用的,不用做得傻瓜化。另外一方面它的命令太...