.fpo(控制 FPO 替代)

.fpo 命令控制帧指针遗漏 (FPO) 重写。

.fpo -s [-fFlag] Address 
.fpo -d Address 
.fpo -x Address 
.fpo -o Address 
.fpo Address 

参数

-s
设置指定地址处的 FPO 替代。

-f
指定替代的 FPO 标志。 不得在 -fFlag 之间添加空格。 如果标志采用参数,则必须在标志和该参数之间添加一个空格。 如果需要多个标志,则必须重复 -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术语 应指定以下帧类型之一:

  • FRAME_FPO 0

  • FRAME_TRAP 1

  • FRAME_TSS 2

  • FRAME_NONFPO 3

地址
指定调试器设置或删除替代的地址,或替代调试器应显示的地址。 此地址必须位于当前模块列表中的模块内。

-d
删除指定地址处的 FPO 替代。

-x
删除包含 地址 地址的模块中的所有 FPO 替代。

-o
显示包含地址地址的模块中的所有 FPO 替代。

环境

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

注解

如果没有参数, .fpo 命令将显示指定地址的 FPO 替代。

某些编译器(包括 Microsoft Visual Studio 6.0 及更低版本)生成 FPO 信息,以指示堆栈帧的设置方式。 在堆栈行走过程中,调试器使用这些 FPO 记录来了解堆栈。 如果编译器生成了不正确的 FPO 信息,则可以使用 .fpo 命令解决此问题。