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 的偵錯程式相比有過之而無不及,使用也就相對複雜一些。一方面是它的親和力稍差,畢竟是給程式設計師用的,不用做得傻瓜化。另外一方面它的命令太...