gdb:打印不在当前作用域中的变量

9

我正在使用gdb,想要打印当前未在作用域内的变量。由于不确定该变量的确切名称,因此希望能够更改作用域,而不是在特定文件中打印特定变量。

1个回答

13
你可以使用frameupdown命令访问堆栈中的作用域。
frame N
f N
    Select frame number N. (The current instruction is in frame 0.)

up [N]
    Move N frames up the stack (away from frame 0).

down [N]
    Move N frames down the stack (towards frame 0).

“frame” 是否意味着 “作用域”?比如,“frame up” 是否意味着 “最外层作用域”?或者说,“gdb” 只将断点跳转视为帧? - Multifix
@Multifix 指的是调用帧。在 C 和 C++ 中,有一对一的对应关系;我不熟悉调试其他编译语言。 - Neil

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接