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