gdb调试工具常用命令

来源:互联网 发布:站长工具网站源码 编辑:程序博客网 时间:2024/05/18 03:13

Qt程序的调试用gdb就可以了

 

1.载入程序,有两种方式:a. gdb  file;b.先用gdb 命令启动gdb,然后加上可调试文件的路径

2.退出程序 quit

3.运行程序  run
  当你在GDB中已将要调试的程序载入后,你可以用run命令来执行。如果你的程序需要参数,你可以在run指令后接着输入参数,就象你在 shell下执行一个需要参数的命令一样。
4.查看程序信息 === 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

5.列出源一段源程序 === list

  5.1列出某个函数

  list FUNCTION

  5.2以当前源文件的某行为中间显示一段源程序

  list LINENUM

  5.3接着前一次继续显示

  list

  5.4显示前一次之前的源程序

  list -

  5.5显示另一个文件的一段程序

  list FILENAME:FUNCTION 或 list FILENAME:LINENUM

 

6.设置断点
6.1在函数入口设置断点

  break FUNCTION

  6.2在当前源文件的某一行上设置断点

  break LINENUM

  6.3在另一个源文件的某一行上设置断点

  break FILENAME:LINENUM

  6.4在某个地址上设置断点,当你调试的程序没有源程序是,这很有用

  break *ADDRESS

  除此之外,设置一个断点,让它只有在某些特定的条件成立时程序才会停下,我们可以称其为条件断点。这个功能很有用,尤其是当你要在一个程序会很多次执行到的地方设置断点时。如果没有这个功能,你必须有极大的耐心,加上大量的时间,一次一次让程序断下,检查一些值,接着再让程序继续执行。事实上,大部分的断下并不是我们所希望的,我们只希望在某些条件下让程序断下。这时,条件断点就可以大大提高你的效率,节省你的时间。条件断点的命令如下,在后面的例子中会有示例。

  6.5条件断点

  break ...if COND

  COND是一个布尔条件表达式,语法与C语言中的一样。条件断点与一般的断点不同之处是每当程序执行到断点处,都要计算条件表达式,如果为真,程序才会断下,否则程序会一直执行下去。


原创粉丝点击