gdb 使用技巧

2021-09-05 20:42:39 字數 893 閱讀 6105

實驗平台: linux + gcc + gdb

除錯正在執行的程序。

多次 fork(),exec()的程式,從頭開始跟蹤非常麻煩。可以使程式停在我們感興趣的地方,然後用 gdb 去  attach。

printf( 

"___i am waiting for being attached by gdb. my pid :_%d_________%s_%d__\n

",  getpid(),  __file__ ,  __line__ );

pause();

reading symbols from 

/lib

/libnss_files.so.

2loaded symbols 

for/

lib/

libnss_files.so.

20x00a047a2

in_dl_sysinfo_int80 () from 

/lib/ld

-linux.so.

2(gdb) b main.cpp:

1220

breakpoint 

1at 

0x8054e85

: file main.cpp, line 

1220

.(gdb) signal 0

continuing with signal 0.

[switching to thread 

-1207969568

(lwp 

24761

)]breakpoint 1=

6) at main.cpp:

1220

1220

printf( 

"_____被訊號喚醒了\n");

(gdb)

GDB使用技巧

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

gdb使用技巧

1.斷點的設定 普通斷點 b n 注 n為行號 或者是break n。此方法過於簡單,不再舉例說明。條件斷點 b n if 邏輯表示式 注 以上兩種斷點型別中tbreak設定方法與break相同,只不過tbreak只在斷點停一次,過後會自動將斷點刪除,break需要手動控制斷點的刪除和使能。demo...

幾則gdb使用技巧

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