下载此文档

gdb调试.doc


文档分类:IT计算机 | 页数:约15页 举报非法文档有奖
1/15
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/15 下载此文档
文档列表 文档介绍
gdb调试
转自:

gdb的命令很多,本文不会全部介绍,仅会介绍一些最常用的。在介绍之前,先介绍gdb中的一个非常有用的功能:补齐功能。它就如同linux下shell中的命令补齐一样。当你输入一个命令的前几个字符,然后输入tab键,如果没有其它命令的前几个字符与此相同,shell将补齐此命令。如果有其它命令的前几个字符与此相同,你会听到一声警告声,再输入tab键,shell将所有前几个字符与此相同的命令全部列出。而gdb中的补齐功能不仅能补齐gdb命令,而且能补齐参数。
本文将先介绍常用的命令,然后结合一个具体的例子来演示如何实际使用这些命令。下面的所有命令除了第一条启动gdb命令是在shell下输入的,其余都是gdb内的命令。大部分gdb内的命令都可以仅输入前几个字符,只要不与其它指令冲突。如quit可以简写为q,因为以q打头的命令只有quit。list可以简写为l,等等。

你可以输入gdb来启动gdb
程序
。gdb程序有许多参数,在此没有必要详细介绍,但一个最为常用的还是要介绍的:如果你已经编译好一个程序,我们假设文件名为hello,你想用gdb调试它,可以输入gdb hello来启动gdb并载入你的程序。如果你仅仅启动了gdb,你必须在启动后,在gdb中再载入你的程序。
=== file
在gdb内,载入程序很简单,使用file命令。如file hello。当然,
程序
的路径名要正确。
退出gdb === quit
在gdb的命令方式下,输入quit,你就可以退出gdb。你也可以输入'c-d'来退出gdb。
=== run
当你在gdb中已将要调试的程序载入后,你可以用run命令来执行。如果你的
程序
需要参数,你可以在run指令后接着输入参数,就象你在shell下执行一个需要参数的命令一样。
=== info
info指令用来查看程序的信息,当你用help info查看帮助的话,info指令的参数足足占了两个屏幕,它的参数非常多,但大部分不常用。我用info指令最多的是用它来查看断点信息。
4.1 查看断点信息
info br
br是断点break的缩写,记得gdb的补齐功能吧。用这条指令,你可以得到你所设置的所有断点的详细信息。包括断点号,类型,状态,内存地址,断点在源程序中的位置等。
4.2 查看当前源程序
info source
4.3 查看堆栈信息
info stack
用这条指令你可以看清楚程序的调用层次关系。
4.4 查看当前的参数
info args

程序
=== list
5.1 列出某个函数
list function
.2 以当前源文件的某行为中间显示一段源程序
list linenum
5.3 接着前一次继续显示
list
5.4 显示前一次之前的源程序
list -
5.5 显示另一个文件的一段程序
list filename:function 或 list filename:linenum
=== break
现在我们将要介绍的也许是最常用和最重要的命令:设置断点。无论何时,只要你的
程序
已被载入,并且当前没有正在运行,你就能设置,修改,删除断点。设置断点的命令是break。有许多种设置断点的方法。如下:
6.1 在函数入口设置断点
break function
6.2 在当前源文件的某一行上设置断点
break linenum
6.3 在另一个源文件的某一行上设置断点
break filename:linenum
6.4 在某个地址上设置断点,当你调试的
程序
没有源程序是,这很有用
break *address
除此之外,设置一个断点,让它只有在某些特定的条件成立时程序才会停下,我们可以称其为条件断点。这个功能很有用,尤其是当你要在一个程序会很多次执行到的地方设置断点时。如果没有这个功能,你必须有极大的耐心,加上大量的时间,一次一次让程序断下,检查一些值,接着再让程序继续执行。事实上,大部分的断下并不是我们所希望的,我们只希望在某些条件下让程序断下。这时,条件断点就可以大大提高你的效率,节省你的时间。条件断点的命令如下,在后面的例子中会有示例。
6.5 条件断点
break ...if cond

gdb给每个断点赋上一个整数数字,这个数字在操作断点时起到重要作用,它实际上就代表相应的断点。gdb中的断点有四种状态:
有效(ena

gdb调试 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数15
  • 收藏数0 收藏
  • 顶次数0
  • 上传人学习的一点
  • 文件大小33 KB
  • 时间2021-07-25