.f+、.f-(切换本地上下文)

.f+ 命令将帧索引移动到当前堆栈中的下一帧。 .f- 命令将帧索引移动到当前堆栈中的上一帧。

.f+  
.f-  

环境

说明
模式 用户模式、内核模式
目标 实时、故障转储
平台 全部

其他信息

有关本地上下文和其他上下文设置的详细信息,请参阅 更改上下文。 有关如何显示局部变量和其他与内存相关的命令的详细信息,请参阅 读取和写入内存

注解

框架指定调试器用于解释局部变量的局部上下文 (范围)

.f+ 和 .f- 命令是移动到当前堆栈中的下一帧和上一帧的快捷方式。 这些命令等效于以下 .frame 命令,但为方便起见, .f 命令较短:

  • .f+.frame @$frame + 1 相同。

  • .f-.frame @$frame - 1 相同。

美元符号 ($) 将帧值标识为 伪寄存器。 at 符号 (@ 会导致调试器更快地访问值,因为它通知调试器字符串是寄存器或伪寄存器。

当应用程序运行时,局部变量的含义取决于程序计数器的位置,因为此类变量的范围仅扩展到定义它们的函数。 除非使用 .f+.f- 命令 (或 .frame 命令) ,否则调试器将使用当前函数的作用域 (堆栈上的当前帧) 作为本地上下文。

帧编号是堆栈帧在堆栈跟踪中的位置。 可以使用 k、kb、kc、kd、kp、kP、kv (显示堆栈回溯) 命令或 “调用”窗口查看此堆栈跟踪。 当前帧) (的第一行表示帧编号 0。 后续行表示帧编号 1、2、3 等。

可以将本地上下文设置为不同的堆栈帧,以查看新的局部变量信息。 但是,可用的实际变量取决于执行的代码。

如果发生任何程序执行,调试器会将本地上下文重置为程序计数器的范围。 如果寄存器上下文发生更改,本地上下文将重置为顶部堆栈帧。