gdb全称GUN debug

主要作用:

—启动程序,可以按照用户自定义的要求随心所欲的运行程序。

—可让被调试的程序在用户所指定的调试的断点处停住 (断点可以是条件表达式)。当程序停住时,可以检查此时程序中所发生的事。

—动态改变量程序的执行环境。

基本命令例子:

run(r)  运行程序,如run f1 f2

list(l)查看最近10行源码.       list fun查看fun函数的源码   list file:fun查看file文件中fun函数源码

break用法:break 行号  break fun   break file:行号  break file:fun  break if <condition> - 条件成立时程序停住。

info break(i b) - 查看断点  watch expr - 一量expr值发生改变,程序停住。   delete n - 删除断点

 

一些调试命令:

continue(c) -  运行至下一个断点

step(s) -     单步跟踪,进入函数,类似于VC中的step in

next(n) -    单步跟踪,不进入函数,类似于VC中的step out

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

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

 

命令的作用:

run(r)

运行

list(l)

列出源代码

break(b)

设置断点

info break(i b)

查看断点信息

continue(c)

继续程序运行,直到下一个断点

watch

设置观察点

step(s)

单步跟踪,类似于VC中的step in

next(n)

单步跟踪,类似于VC中的step out

finish

运行程序,直到当前函数返回

until(u)

退出循环

print(p)

查看运行时的变量以及表达式