gdb常用命令
GDB
gdb常用命令
forxy
2010-04-25, 22:42 下午
这是我用gdb的常用命令,其他的不会。
gdb ./test
调试test文件
l
list源码
l 37
显示37行附近的源码
b main
将断点定在main函数
b func
将断点定在func函数
b 37 if i==3
如果条件满足,在37行停止
i b
显示所有的断点
d 删除所有断点
d 0
删除第0个断点
c
继续运行
c 3
继续运行,但是3次断点忽略
display a
显示a的值(一直)
undisplay
去掉所有显示
watch addr
监视addr内存(此命令N久不用,不知对否)
s
进入函数进行跟踪
n
运行到下一句,不进入函数
j 37
直接跳到37行运行
u
将循环执行完
finish
执行本函数,并返回
x /32xb
打印内存,32个16进制,字节
p a=3
设置a的值
p (*(mystruct *)addr)
打印一个数据结构,addr为其地址
r
运行或重新运行
where
查看堆栈信息
up
回溯一层堆栈
down
到下一层堆栈
p a
答应a的值
shell
进入shell,如果再exit会回到gdb
shell echo $env
打印evn环境变量
在windows下,比如VC,可以通过无源码的可执行程序来调试一个有源码的动态库,但是-----linux下不知道如何实现这个功能,谁知道请告诉我下,感谢!
http://forxy.download.csdn.net/
Re: gdb常用命令
格蠹老雷
2010-04-25, 22:49 下午
多谢分享,顺便补充一个与WinDBG很不同的地方,如果要调试的程序有命令行参数,不能直接放在命令行中:
【错误】 gdb ./test -para
应该放在r命令后面,即:
【正确】r -para
Re: gdb常用命令
xuzhina
2013-06-13, 09:31 上午
(gdb)set args -para
(gdb)r