GDB中文手册[共30页].pdf

  1. 1、本文档共30页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
使用 GDB 一般来说 GDB 主要调试的是 C/C++的程序。要调试 C/C++的程序,首先在编译时,我们必须 要把调试信息加到可执行文件中。使用编译器(cc/gcc/g++ )的 -g 参数可以做到这一点。 如: cc -g hello.c -o hello g++ -g hello.cpp -o hello 如果没有-g ,你将看不见程序的函数名、变量名,所代替的全是运行时的内存地址。当你 用-g 把调试信息加入之后,并成功编译目标代码以后,让我们来看看如何用 gdb 来调试他。 进入 GDB 启动 GDB 的方法有以下几种: 1、gdb program program 也就是你的执行文件,一般在当然目录下。 2、gdb program core 用 gdb 同时调试一个运行程序和 core 文件,core 是程序非法执行后 core dump 后产生的文 件。 3、gdb pid 如果你的程序是一个服务程序,那么你可以指定这个服务程序运行时的进程 ID。gdb 会自动 attach 上去,并调试他。program 应该在 PATH 环境变量中搜索得到。 GDB 启动时,可以加上一些 GDB 的启动开关,详细的开关可以用 gdb -help 查看。我在下面 只例举一些比较常用的参数: 参数 说明 -symbols [file](-s) 读取文件中的符号表 -exec [file] (-e) 调试一个可执行文件 -se [file] 上二者的缩写 -core [file](-c) 读入一个 core dump 文件 -pid number (-p) 启动 attach 模式,除错一个执行中的行程。number 是目标行程的 pid -directory [directory] (-d) 将 directory 加入原始码的搜寻路 -readnow (-r) 一次读取完所有的符号表,这会让启动 gdb 的时间 变长,但在执行往后的除错动作会较快速。 下列还有部分选择性的参数,我列出几个目前用的到的: -quiet -silent -q 安静模式,启动时 gdb 将不会显示版权页。 -windows -w 与下一选项相反,这会启动 GUI -nowindows -nw 如果 gdb 有编入 GUI 的话,这个选项会关掉它。 -cd [directory] 切换工作目录为 directory 而不是现在的目录 -tty [device](-t) 指定 device 为程式的标准输出入 --args 这个参数要当作命令列的最后一个参数,其后跟随 的参数都会被视为「欲传给将调试的程序的参数」 当然我们也不一定要在启动时指定调试来源。 file 指令可以指定要调试的程序,功能就与-se 一样,其实这样指定是比较方便的。 在执 行程序前,我们可以先指定命令列参数,如同--args 参数的效果。 程序运行参数 set args 指定运行时的命令列参数 show args 查看现在的命令列参数是什么。由于 gdb 调试的对象是已经编译好的可执行文 件,所以这里我们不必像 VS.NE 一样等半天。有一点必须注意,gdb 传给程序的命令列参数 是程序开始执行前的那一份命令列参数,如果程序已经开始执行,就算用中断点中断执行然 后改变命令列参数,也只会在下一次执行时变更才会生效。 运行环境 path 设定程序的运行路径。 show paths 查看程序的运行路径。 set environment varname [=value] 设置环境变量,如 set env USR = show environment [varname] 查看环境变量。 工作目录 cd 相当于 shell 的 cd 命令。 Pwd 显示当前的所在目录。 程序的输入输出 info terminal 显示你程序用到的终端的模式。 使用重

文档评论(0)

183****8595 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档