- 5
- 0
- 约1.02万字
- 约 47页
- 2017-06-03 发布于北京
- 举报
GDB调试方法与技巧 刘鹏昊 GDB简介: 调试器(例如GDB)能让你观察一个程序在执行时的内部活动,或者程序出错时发生了什么 GDB主要能为你做四件事情: 运行你的程序,设置所有的能影响程序运行的东西 保证你的程序在指定的条件下停止 当你程序停止时,让你检查发生了什么 改变你的程序。那样你可以试着修正某个bug引起的问题,然后继续查找另一 个bug 启动: 最通常的命令就是使用一个参数:$(m68k-linux-)gdb 可执行文档名 你还可以同时为你的执行文件指定一个core文件: $gdb 可执行文件名 core 你也可以为你要执行的文件指定一个进程号: $gdb 可执行文件名 进程号 常用启动参数: -symbols 文件名(-s 文件名) 从文件名中读去符号 -x 文件名 执行gdb命令,在文件名指定的文件中存放着一序列的gdb命令,就象一个批处理 -directory(-d) 路径 指定路径。把路径加入到搜索源文件的路径中 常用启动参数: -quiet (-q) 安静模式,不输出介绍和版权信息 -x 文件名 执行gdb命令,在文件名指定的文件中存放着一序列的gdb命令,就象一个批处理 -directory(-d) 路径 指定路径。把路径加入到搜索源文件的路径中 结束: quit 直接退出gdb detach 放弃连接 Shell命令: shell command string 启动一个shell执行command string,不用退出GDB就可以执行一个shell命令 make [make-args] 使用[make-args]进行make 相当于`shell make make-args GDB命令 命令输入技巧: 可以把一个gdb命令缩写成开头几个字母,如果这没有二意性你可以直接回车来运行。如果有不止一个选择的话,你还可以使用TAB键让gdb给你完成接下来的键入,或向你显示可选择的命令 使用help help [class] 显示某一类命令的列表 $help status Status inquiries. List of commands: show -- Generic command for showing things set ?????????? with set info -- Generic command for printing status GDB命令(使用help) help [COMMAND] 列出某个命令的使用方法 complete ARGS 列出所有以ARGS开头的命令 ‘info’ (可以缩写为‘i’)用来显示你程序的状态。比如,你可以使用info args 列出你程序所接受的命令行参数。使用info registers列出寄存器的状态。 ‘show’与‘info’相反,‘show’命令用来显示gdb自身的状态 例如show version显示版本号,show copying显示版权信息 GDB下运行程序 程序编译: 当你在gdb下运行程序时,你必须先为gdb准备好带有调试信息的可执行文档。 为了高效的调试一个程序,你需要使用编译器来产生附带调试信息的可执行代码这些调试信息存储在目标文件中;描述了变量数据类型和函数声明,在源文件代码行和执行代码之间建立联系。 为产生调试信息,当你使用编译器时指定-g选项,就可以为你的程序产生带有调试信息的可执行代码 GDB下运行程序 Run命令: 用于启动你的程序,使用命令前必须先指定你程序的名字(用gdb的命令行参数)或使用‘file’命令,来指定文件名 工作路径: 每次用‘run’命令来运行程序时,程序将继承gdb的当前工作目录。而gdb的工作目录是从它的父进程继承而来的(一般是shell)。但你可以自己使用‘cd’命令指定工作目录。 gdb的工作目录就是它去寻找某些文件或信息的途径。 `cd DIRECTORY ?把gdb的工作目录设为DIRECTORY `pwd ?打印输出当前目录 GDB下运行程序 调试一个已经运行的程序: attach PROCESS-ID 这个命令把一个已经运行的进程(在gdb外启动)连接入gdb,以便调试。PROCESS-ID是进程号。当然要使用‘attach’命令的话,你的操作系统环境必须支持进程。另外你还要有向此进程发信号的权力。 交叉调试环境: 目标板:gdbserver :port –attach PROCESS-ID 调试端:target remote ip:port 停止
您可能关注的文档
最近下载
- 西门子S7-1200 PLC编程与应用第2版参考试卷B附答案.doc VIP
- 小学二年级数学下册乘法口算练习题(每日一练,共27份).pdf VIP
- 小学三年级数学下册乘法计算专项练习题(每日一练,共15份).pdf VIP
- 小学三年级数学下册乘法计算专项练习题(每日一练,共26份).docx VIP
- 子宫腺肌病治疗与管理教程.ppt
- 三年级数学下册应用题专项练习题(每日一练) (9).docx VIP
- 西门子S7-1200 PLC编程与应用 第2版 参考试卷.docx VIP
- 三年级数学下册应用题专项练习题(每日一练) (5).docx VIP
- 西门子S7-1200 PLC编程及应用教程 第2版.ppt
- 西门子S7-1200PLC编程与应用(第2版)刘华波课后习题答案.pdf
原创力文档

文档评论(0)