前提:廢話不多講,無法跟蹤進入調試,講得再多也是廢話。
如何進入調試?
1.編譯加上 -g 選項
2.執行 gdb a.out (注意:a.out一定要存在,或者是指定路徑,這樣gdb才能導入并進行詳細分析)
3.查看源文件并設置斷點(設置斷點可以設置函數斷點,比如 b myfuncname)
4.執行,run arguments (需要加上a.out的參數)
1.编译注意需要加上 -g 选项
gcc -g -o test test.c
2.启动gdb
gdb test
3.列出源码
list
4.设置断点
break <linenum>
break funcname [if n > 5]
5.运行test
run [argvs] //携带程序执行所需的参数
6.打印变量值及堆栈地址
p i
bt
7.打印栈中的内容
frame
8.到达断点之后,执行的自己命令
commands
set variable n=n+1;
printf "n is %d\n",n
end
9.查看各种命令
info break
info display
info arg
10.控制调试命令
disable
delete
clear
11.gdb其它命令
info frame
info source
show language
set language
其它详细命令请参见文档:http://blog.csdn.net/nowdoit/article/details/6947229