linux下GDB调试
1.GDB简介:
GNU 的调试器称为 GDB,是一个交互式工具,工作在字符模式下。很多程序员习惯于图形界面的程序开发,如 VC、VB 等集成开发环境,但是在 UNIX/Linux 环境下,GDB 的功能更强大。
GDB 作为功能强大的调试工具,可完成如下的调试任务:
(1)设置断点。
(2)监视程序变量的值。
(3)程序的单步执行。
(4)修改变量的值。
2.GDB的使用
GDB常用命令:
a)加载应用程序:
gdb test (加载应用程序)
gdb + file test (路径下的程序)
gdb+ attach 6678 (加载某个进程PID)
b) 运行程序 : r(un)
c)继续运行程序: c(ontinue)
d) 设置断点:
•b 100 --在当前文件的100行设置断点
•b /mnt/hgfs/AnyCore/src/newcore/schedule/schedule/backupschedule/FileSchedule/ncFilePushStreamEvent.cpp:104 –在指定文件的指定行设置断点
e) 取消断点
d 1 --取消第一个断点
d -- 取消所有断点
f) 显示当前断点信息
•info break
g)显示代码
•l(ist)
•list 10
h)单步走
•不进函数内部单步走:n (ext) --不进入函数内部(F10)
•跟踪到函数内部单步走: s(tep) --进入函数内部(F11)
i)跳出当前函数
fini(sh)
j)显示变量的值
•p a
•p str.c_str
•p vec.size ()
k)设置变量的值
set a=10
m)使用shell命令
•shell ps -a
•shell pwd
Ctrl+D退出shell命令
n)打印堆栈信息
•bt (backtrace)
o)列出线程
• info threads
p)跳转到线程
•thread n