主要参考
http://www.cppblog.com/baby-fly/archive/2011/12/16/121395.html
http://blog.youkuaiyun.com/s1234567_89/article/details/7852392
gdb是是GNU下面的一个调试器,应该可以配合不同的编译器使用。
如果配合gcc使用。做单步调试应该按照如下步骤。
1. 首先需要用gcc对源文件进行编译生成可执行文件,并且在编译时加上-g选项,将调试信息加到目标文件中。
2. 假设生成的可执行文件为test,那么gdb test可以用gdb打开test文件,然后通过break linenum设置断点。可以输入list查看源文件和行号,方便设置断点。断点设置好之后可以run来运行到断点处。
3. n命令可以执行吓一跳命令。
基本gdb命令
| 命令 | 简写 | 功能 |
|---|---|---|
| file | 装入想要调试的可执行文件 | |
| kill | k | 终止正在调试的程序 |
| list | l | 列出产生可执行文件的源代码的一部分 |
| next | n | 执行一行源代码但不进入函数内部 |
| step | s | 执行一行源代码而且进入函数内部 |
| continue | c | 继续执行程序 |
| run | r | 执行当前被调试的程序 |
| quit | q | 终止gdb |
| watch | 使你能监视一个变量的值而不管它何时被改变 | |
| catch | 设置捕捉点 | |
| thread | t | 查看当前运行程序的线程信息 |
| break | b | 在代码里设置断点,这将使程序执行到这里时被挂起 |
| make | 使你能不退出gdb就可以重新产生可执行文件 | |
| shell | 使你能不离开gdb就执行UNIX shell命令 | |
| p | 打印数据内容 | |
| examine | x | 打印内存内容 |
| backtrace | bt | 查看函数调用栈的所有信息 |
2367

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



