gdb查看调用帧

backtrace [qualifier]... [count]
bt [qualifier]... [count]

输出当前线程的调用栈.查看其它线程可通过切换或者是
thread apply thread-id bt

qualifier:可选值
full输出栈帧的同时输出函数的局部变量信息.

count:
n最外面的n个栈帧.
-n最里面的n个栈帧.

其它选项:
-past-main [on|off]
on输出main还上层的栈帧.
off不输出,默认值.

where | info sbacktrace的别名,即两个相等.

输出内容:
栈帧编号.
程序计数器值,最外层没有,因为最外层不需要.也没有,实时在变化,调试的地方就是其对应值.
函数名.
传入参数.非基本类型(int,float,pointer)之类的就是....如果没有使用且进行了编译优化会显示<optimized out>,这种情况建议往上层的栈帧看.
函数所在文件和对应行号.

set backtrace limit n
set backtrace limit 0
set backtrace limit unlimited
show backtrace limit

修改查看增加.

Guess you like

Origin blog.csdn.net/rubikchen/article/details/115732023