调用栈

调用栈描述的是函数之间的调用关系,它由多个栈帧(stack frame)组成,每个栈帧对应着一个未运行完毕的函数,栈帧中保存了该函数的返回地址和局部变量,因而不仅能在执行完毕后找到正确的返回地址,还很自然地保存了不同函数间的局部变量互不相干——因为不同函数对应着不同的栈帧。

在gdb中可以用backtrace(简称bt)命令来打印所有的栈帧信息,若要用p命令打印一个非前栈的局部变量,可以用frame命令选择到另一个栈帧。

字母l是输入命令,为List(列出程序清单)的缩写。

b命令把断点设置在第n行,之后碰到了断点并停止。

up命令选择上一个栈帧

p命令查看变量

q命令退出gdb


猜你喜欢

转载自blog.csdn.net/zhouzi2018/article/details/80718684