- 1、本文档共13页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
GDB调试方法与命令-wk
GDB 调试方法与命令
版本 日期 作者
V1.0 2013-04-23 王魁
简单试运行gdb
编译程序gcc –o test –g test.c
启动gdb
Cd 目录
加载可执行程序
显示代码
Quit/detach
GDB 简介
GDB 主要能为你做四件事情:
1. 运行你的程序,设置所有的能影响程序运行的东西
2. 保证你的程序在指定的条件下停止
3. 当你程序停止时,让你检查发生了什么
4. 改变你的程序。那样你可以试着修正某个bug 引起的问题,然后继续查找另一 个
bug
启动方式
1. 调试应用程序prog
gdb prog
2. 调试程序 prog 和由prog 异常终止产生的core dump 文件
gdb prog core_file
3. 调试一个正在运行的程序,pid 是进程的id
gdb prog pid
4. 进入gdb 后执行 file prog,调试程序prog
基本命令
命 令 描 述
file 装入想要调试的可执行文件.
kill 终止正在调试的程序.
list 列出产生执行文件的源代码的一部分.
next 执行一行源代码但不进入函数内部.
step 执行一行源代码而且进入函数内部.
run 执行当前被调试的程序
quit 终止 gdb
watch 使你能监视一个变量的值而不管它何时被改变.
break 在代码里设置断点, 这将使程序执行到这里时被挂起.
make 使你能不退出 gdb 就可以重新产生可执行文件.
shell 使你能不离开 gdb 就执行 UNIX shell 命令.
gdb 支持很多与 UNIX shell 程序一样的命令编辑特征. 你能象在 bash 或
tcsh 里那样按 Tab 键让 gdb 帮你补齐一个唯一的命令, 如果不唯一的话
gdb 会列出所有匹配的命令. 你也能用光标键上下翻动历史命令.
命令参数list
list 列出当前行前后共10 行(默认)代码
list n 列出第n 行前后共10 行(默认)代码
list ,n 列出当前行到第n 行前后共10 行(默认)代码
list n,m 列出第n 行到第m 行前后共10 行(默认)代码
list +n / list n
列出当前行以上、以下n 行代码
list file:n 列出文件file 的第n 行前后共10 行(默认)代码
list *address 列出指定地址的行代码
list function 列出函数function 的代码
list file:function 列出文件file 中function 的代码
注:当前行是指程序运行中正在执行的代码所在的行
命令参数break
设置断点命令说明
break function 在函数function 处设置断点
break function(type,...) 在原型为function(type,...)的函数处设置断点
break class::function 在类class 的function 函数处设置断点
break 在下一个指令处设置断点
break n 在第n 行设置断点
break n/ break +n 在当前行以上、以下n 行处设置断点
break *address 在指定内存地址的行处设置断点
break file:n 在文件file 的第10 行设置断点
break file:function 在文件file 中的函数function 处设置断点
break expr if condition 符合条件处中断,可与上述各种表达式联合使用
命令参数watch
观察点是监控指定的变量或表达式的变化,一旦监控的表达式或
变量被访问或被改变,程序即暂停
watch expr
当expr 的值发生变化时,程序暂停
rwatch expr
当expr 被访问时,程序暂停
awatch expr
当expr 被改变或被访问时,程序暂停
命令参数clear/delete/disable/enable
清理或禁止中断点(breakpoints 、watchpoints )
clear:清理中断点(只处理break ,不能处理watch)
不带参数表示清理当前行
您可能关注的文档
- IS50-32J-160B型单级单吸离心泵.pdf
- 泓格数据采集卡PIO-D64 用户手册.pdf
- 2RM-600-D-4X05-64-01-S中文资料(SCANCON)中文数据手册「EasyDatasheet - 矽搜」.pdf
- STM32F101x8_B基本型系列中容量产品数据手册(2009年4月).pdf
- 32SAP-19B高效节能环保中开泵.pdf
- IH50-32-200B型单级单吸化工离心泵.pdf
- ANSI-RF法兰标准尺寸表.pdf
- XH3B-0142-A;XH3B-013P-D32;XH3B-2041-1A;XH3A-2041-2A;XH3B-2041-3A;中文规格书,Datasheet资料.pdf
- NeoSpeech 在 Win7 X64 上不工作的问题 -.pdf
- IH50-32J-250B型单级单吸化工离心泵.pdf
文档评论(0)