.fpo 命令控制帧指针遗漏 (FPO) 重写。
.fpo -s [-fFlag] Address
.fpo -d Address
.fpo -x Address
.fpo -o Address
.fpo Address
参数
-s
设置指定地址处的 FPO 替代。
-f旗
指定替代的 FPO 标志。 不得在 -f 和 Flag 之间添加空格。 如果标志采用参数,则必须在标志和该参数之间添加一个空格。 如果需要多个标志,则必须重复 -f 开关(例如 -fb -fp 4 -fe)。 只能将 -f 开关与 -s 一起使用。 可以将以下值之一用于 Flag。
标志 | 效果 |
---|---|
b |
将 fUseBP 设置为 TRUE。 |
e |
将 fUseSEH 设置为 TRUE。 |
n |
将 cbFrame 设置为等于 FRAME_NONFPO。 (默认情况下,cbFrame 设置为 FRAME_FPO。) |
l Term |
设置 cdwLocals 等于 Term。 术语 应指定所需的本地 DWORD 计数。 |
p Term |
设置 cdwParams 等于 Term。 术语 应指定所需的参数 DWORD 计数。 |
r Term |
将 cbRegs 设置为 等于 Term。 术语 应指定所需的寄存器计数。 |
s Term |
将 cbProcSize 设置为 等于 Term。 术语 应指定所需的过程大小。 |
t Term |
设置 cbFrame 等于 Term。 术语 应指定以下帧类型之一:
|
地址
指定调试器设置或删除替代的地址,或替代调试器应显示的地址。 此地址必须位于当前模块列表中的模块内。
-d
删除指定地址处的 FPO 替代。
-x
删除包含 地址 地址的模块中的所有 FPO 替代。
-o
显示包含地址地址的模块中的所有 FPO 替代。
环境
项 | 说明 |
---|---|
模式 | 用户模式、内核模式 |
目标 | 实时、崩溃转储 |
平台 | 全部 |
注解
如果没有参数, .fpo 命令将显示指定地址的 FPO 替代。
某些编译器(包括 Microsoft Visual Studio 6.0 及更低版本)生成 FPO 信息,以指示堆栈帧的设置方式。 在堆栈行走过程中,调试器使用这些 FPO 记录来了解堆栈。 如果编译器生成了不正确的 FPO 信息,则可以使用 .fpo 命令解决此问题。