.fpo (Control FPO Overrides)

The .fpo command controls the frame pointer omission (FPO) overrides.

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

Parameters

-s
Sets an FPO override at the specified address.

-fFlag
Specifies FPO flags for the override. You must not add a space between -f and Flag. If the flag takes an argument, you must add a space between the flag and that argument. If you want multiple flags, you must repeat the -f switch (for example, -fb -fp 4 -fe). You can use the -f switch only with -s. You can use one of the following values for Flag.

Flag Effect

b

Sets fUseBP equal to TRUE.

e

Sets fUseSEH equal to TRUE.

n

Sets cbFrame equal to FRAME_NONFPO. (By default, cbFrame is set to FRAME_FPO.)

l Term

Sets cdwLocals equal to Term. Term should specify the local DWORD count that you want.

p Term

Sets cdwParams equal to Term. Term should specify the parameter DWORD count that you want.

r Term

Sets cbRegs equal to Term. Term should specify the register count that you want.

s Term

Sets cbProcSize equal to Term. Term should specify the procedure size that you want.

t Term

Sets cbFrame equal to Term. Term should specify one of the following frame types:

  • FRAME_FPO 0

  • FRAME_TRAP 1

  • FRAME_TSS 2

  • FRAME_NONFPO 3

Address
Specifies the address where the debugger sets or removes the override or the address whose overrides the debugger should display. This address must be within a module in the current module list.

-d
Removes the FPO overrides at the specified address.

-x
Removes all FPO overrides within the module that contains the Address address.

-o
Displays all FPO overrides within the module that contains the Address address.

Environment

Item Description
Modes User mode, kernel mode
Targets Live, crash dump
Platforms All

Remarks

Without parameters, the .fpo command displays the FPO overrides for the specified address.

Some compilers (including Microsoft Visual Studio 6.0 and earlier versions) generate FPO information to indicate how the stack frame is set up. During stack walking, the debugger uses these FPO records to understand the stack. If the compiler generated incorrect FPO information, you can use the .fpo command to fix this problem.