首先編譯文件爲調試版本,也就是在編譯文件指令的末尾加上 -g。調試版的文件仍然是二進制可執行文件,可以用來運行,可是不是調試版的文件不可以用來調試。
例如 :g++ -o mainmain.cpp -g 編譯成調試文件 main 爲調試文件
開始調試 輸入指令 gdb main
運行後會出現很多奇奇怪怪的東西,不用在意是啥
加斷點
在你需要讓程序暫停運行的地方加上斷點
一般用法:b 文件名:行數 b 文件名:函數名
例如: bmain.cpp:15 bmain.cpp:fun(int)
(文件名和一般函數名用table鍵補齊,不要自己敲)
運行
r main 如果還有參數,也在這裏寫 例如: r main 127.0.0.16000 3 run
打印目前運行地方的代碼 L (小寫) list
運行到下一行,遇到函數不進入函數 n next
運行到下一個斷點 c continue
遇到函數,進入函數 s 或者在函數內加斷點 step
跳出函數 f finish
輸出變量值 p+變量名 printf
線程調試
在多線程啓動之後,輸入info threads 打印出目前線程的信息和編號。
輸入 t 1 切換到線程1 t 2切換到線程2……
退出 q