GDB调试命令(转)
来源:互联网 发布:unity3d人物模型在哪里 编辑:程序博客网 时间:2024/05/17 01:59
1 基本命令1.1 启动和退出GDB
[root@localhost ~]#gdb test
启动GDB调试test程序
[root@localhost ~]#gdb programe 2146
启动GDB调试进程号为2146的进程
[root@localhost ~]# gdb
(gdb) attach 2146
启动GDB挂载到进程号为2146的进程上开始调试
(gdb)detach 2146
释放进程号为2146的进程,终止调试
(gdb)set args –a –b123 -c
(gdb)show args
设置和查看被调试程序的启动参数
(gdb)run
(gdb)kill
启动和停止当前被调试程序,run命令也可跟参数
(gdb)quit
终止调式,退出GDB
1.2 查看源代码
(gdb)list 123
查看当前源代码文件中123行及其前后5行的代码
(gdb)list abc.cpp : 123
查看源文件abc.cpp中123行及其前后5行的代码
(gdb)list foo
查看函数foo起始行及其前后5行的代码
(gdb)list abc.cpp : foo
查看源文件abc.cpp中函数foo起始行及其前后5行的代码
(gdb)list 0xabcd1234
查看包含0xabcd1234地址的代码行及其前后5行的代码
2 流程控制
(gdb)s
单步执行
(gdb)n
单步执行,但不展开函数调用
(gdb)c
继续执行
(gdb)u
执行至循环结束
(gdb)u 123
执行至123行
(gdb)finish
跳出当前函数
(gdb)bt
查看当前函数调用堆栈
(gdb)frame 3
跳转到函数堆栈中索引为3的函数上下文
x 按十六进制显示
d 按十进制显示
u 显示32位无符号整型。
o 按八进制显示
t 按二进制显示
a 按地址显示
c 按字符显示
f 按浮点数显示
s 按字符串显示
(gdb)p foo
查看变量foo的值
(gdb)p *bar
查看指针bar所指对象内容
(gdb)p/x foo
按十六进制查看变量foo的值
(gdb)p bar@10
查看数组bar的10个元素
(gdb)ptype foo
查看foo的类型定义
x命令格式:x/[count][format][size] address
size可以是b(byte), h(halfword), w(word), g(giant, 8 bytes)
(gdb)x/10ub ptr
按无符号整形从ptr所指地址开始输出10字节
(gdb)x/5xw ptr
按16进制从ptr所指地址开始输出5个字(10字节)
4 断点4.1 设置断点
(gdb)b 123
在当前源文件的123行设置断点
(gdb)b abc.cpp : 123
在源文件abc.cpp的123行设置断点
(gdb)b foo
在全局函数foo设置断点
(gdb)b foo::bar
在类foo的成员函数bar设置断点
(gdb)b ns::foo::bar
在命名空间ns中的类foo的成员函数bar设置断点
(gdb)b 123 if foo == 1 && bar == 0
在当前源文件123行设置断点,并且当foo等于1且bar等于0时才命中
4.2 管理断点
(gdb)info b
查看所有断点信息
(gdb)d
删除所有断点
(gdb)d 2
删除2号断点
(gdb)enable 1
打开1号断点
(gdb)disable 5
禁用5号断点
5 多线程
(gdb)info threads
查看线程表
(gdb)thread 2
切换到线程表中索引为2的线程
(gdb)b foo 2
在函数foo设置断点,并且只在索引为2的线程中命中
(gdb)set follow-fork-mode parent
当fork调用发生时,继续调试父进程
(gdb)set follow-fork-mode child
当fork调用发生时,继续调试子进程
- GDB调试命令(转)
- gdb调试命令 [转]
- GDB 调试命令讲解-转
- gdb调试命令(部分)
- GDB调试命令(一)---基本命令
- 【GDB】gdb调试命令大全
- GDB 调试(转)
- GDB调试(转)
- gdb调试(转)
- gdb对应vc调试命令(转)
- [转]比较全面的gdb调试命令
- GDB 调试命令讲解 2-转
- xcode的gdb调试命令(转载)
- gdb调试命令小结(TODO)
- GDB调试命令
- GDB 常用调试命令
- gdb调试命令
- GDB调试命令
- c#解决高并发--加锁(Lock)
- C++中const的作用
- spring 配置的五种方式
- 设计Windows shell中set 命令的人应该好好反省一下自己(用set处理串时请注意空格)
- Vcastr 3.0 api
- GDB调试命令(转)
- dw服务端controller编码
- Struts2-安装
- sql中写事物和c#中执行事物
- 《程序员的第一年》---------- Properties.Settings 的读写
- 没有配置resolv.conf
- 浅谈Service Manager成为Android进程间通信(IPC)机制Binder守护进程之路
- 一个完整的Windows 服务从创建到安装卸载
- Web前端开发修炼之道-HTML篇