前提:廢話不多講,無法跟蹤進入調試,講得再多也是廢話。
如何進入調試?
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.youkuaiyun.com/nowdoit/article/details/6947229
本文详细介绍了如何使用gdb进行程序调试,包括编译时添加-g选项、启动gdb、列出源码、设置断点、运行程序、打印变量及堆栈地址等步骤。同时提供了gdb的各种命令及其用途,帮助开发者更高效地定位和解决程序错误。
4236

被折叠的 条评论
为什么被折叠?



