GDB 命令行参数
—annotate
GDB 命令参考
传递参数给程序
GDB 中执行 SHELL 命令
设置断点
单步执行

GDB 命令行参数

—annotate

不同的annotate 的值不代表不同的模式

GDB 命令参考

传递参数给程序

GDB 中执行 SHELL 命令

在gdb环境中,你可以执行UNIX的shell的命令,使用gdb的shell命令来完成,例如:

shell make

设置断点

break 行号
break 函数名

break +offset
break -offset
               在当前行号的前面或后面的offset行停住

break filename:linenum
               在源文件filename的linenum行处停住。

break filename:function
               在源文件filename的function函数的入口处停住。

break ... if
               ...可以是上述的参数,condition表示条件,在条件成立时停住。
               比如在循环境体中,可以设置 break if i=100,表示当i为100
               时停住程序。

单步执行

继续运行: c

step  单步跟踪,如果有函数调用,他会进入该函数。

next  同样单步跟踪,如果有函数调用,他不会进入该函数。后面可以加
        count也可以不加,不加表示一条条地执行,加表示执行后面的count条
        指令,然后再停住。

set step-mode

set step-mode on

       打开step-mode模式,于是,在进行单步跟踪时,程序不会因为没有debug信
        息而不停住。这个参数有很利于查看机器码。

set step-mod off

      关闭step-mode模式。

finish  运行程序,直到当前函数完成返回。并打印函数返回时的堆栈地址和
          返回值及参数值等信息。

until 或 u   当你厌倦了在一个循环体内单步跟踪时,这个命令可以运行程序
              直到退出循环体。