gdb参考命令
时间:2021-07-01 10:21:17
帮助过:25人阅读
return //使用return命令取消当前函数的执行,并立即返回
4、堆栈信息
bt/backtrace //n是一个正整数,表示只打印栈顶上n层的栈信息。
f/frame //切换当前的栈
select-frame 对应于frame 命令。
up-silently 对应于up命令。
down-silently 对应于down命令。
info frame //打印出更为详细的当前栈层的信息
info args //打印出当前函数的参数名及其值。
info locals //打印出当前函数中所有局部变量及其值。
list //显示程序第linenum行周围的源程序。
list 1,20 //查看1到20行的代码
list //显示函数名为function的函数的源程序。
list //显示当前行后面的源程序。
5、变量
print/p //expr可以为变量或地址
--file:variable
--function::variable
int *array=(int*)malloc(len*sizeof(int))
p *array@len //len为查看长度
print x=4
set var width=47 //set用于修改gdb参数,建议带上var
6、自动显示
设置一些自动显示的变量,当程序停住时,或是在你单步跟踪时,这些变量会自动显示
display
undisplay
delete display
disable display
enable display
info display
7、condition
condition
修改断点号为bnum的停止条件为expression
condition
清除断点号为bnum的停止条件。
还有一个比较特殊的维护命令ignore,可以指定程序运行时,忽略停止条件几次。
ignore
表示忽略断点号为bnum的停止条件count次。
8、多线程
(gdb)set scheduler-locking on/off //锁定调度器来避开gdb根据优先权来改变当前线程
(gdb)show scheduler-locking //确定当前模式
(gdb)set follow-fork-mode child //跟踪子进程
(gdb)set follow-fork-mode parent //跟踪父进程
(gdb)set follow-fork-mode ask //设置gdb在fork时询问跟踪哪一个进程
info threads //查看当前应用程序中所有的线程
gdb参考命令
标签:运行程序 自动 调度 val 优先 函数 div 重定向 point