FPO help

Hi everyone,

I’m trying to find a good explanation about the FPO. Specially related to
the call stack we
see in Windbg. Like -

(FPO:[1, 0, 0] ) // other numbers too also with(out) EBP frame poiinter
ref…

thanx
prokash

Hi, Prokash

the first parameter is function parameter, the second parameter is the
number of DWORDs for the locals and the third parameter is number of
registers saved.

FPO: [N1,N2,N3]
N1 is the total number of parameters.
N2 is the number of DWORDs for the locals.
N3 is number of registers saved.

Thanks,
futoshi

-----Original Message-----
From: Prokash Sinha [mailto:xxxxx@zonelabs.com]
Sent: Tuesday, July 09, 2002 4:00 AM
To: Kernel Debugging Interest List
Subject: [windbg] FPO help

Hi everyone,

I’m trying to find a good explanation about the FPO. Specially related to
the call stack we
see in Windbg. Like -

(FPO:[1, 0, 0] ) // other numbers too also with(out) EBP frame poiinter
ref…

thanx
prokash


You are currently subscribed to windbg as: xxxxx@citrix.co.jp
To unsubscribe send a blank email to %%email.unsub%%

FPO is a function call optimization that compilers do for x86 processors. You can find some limited info about it in the debugger docs (search for FPO). Searching MSDN or the web will probably yeild some document which gives a detailed explaination of it

-----Original Message-----
From: xxxxx@citrix.co.jp [mailto:xxxxx@citrix.co.jp]
Sent: Mon 7/8/2002 7:06 PM
To: Kernel Debugging Interest List
Cc:
Subject: [windbg] RE: FPO help

Hi, Prokash

the first parameter is function parameter, the second parameter is the
number of DWORDs for the locals and the third parameter is number of
registers saved.

FPO: [N1,N2,N3]
N1 is the total number of parameters.
N2 is the number of DWORDs for the locals.
N3 is number of registers saved.

Thanks,
futoshi

-----Original Message-----
From: Prokash Sinha [mailto:xxxxx@zonelabs.com]
Sent: Tuesday, July 09, 2002 4:00 AM
To: Kernel Debugging Interest List
Subject: [windbg] FPO help

Hi everyone,

I’m trying to find a good explanation about the FPO. Specially related to
the call stack we
see in Windbg. Like -

(FPO:[1, 0, 0] ) // other numbers too also with(out) EBP frame poiinter
ref…

thanx
prokash


You are currently subscribed to windbg as: xxxxx@citrix.co.jp
To unsubscribe send a blank email to %%email.unsub%%


You are currently subscribed to windbg as: xxxxx@microsoft.com
To unsubscribe send a blank email to xxxxx@lists.osr.com

One more thing. Correct symbols are needed to correctly walk a stack with an FPO frame in it.

-----Original Message-----
From: Nathan Nesbit
Sent: Sun 7/14/2002 8:23 PM
To: Kernel Debugging Interest List; Kernel Debugging Interest List
Cc: xxxxx@citrix.co.jp; xxxxx@zonelabs.com
Subject: RE: [windbg] RE: FPO help

FPO is a function call optimization that compilers do for x86 processors. You can find some limited info about it in the debugger docs (search for FPO). Searching MSDN or the web will probably yeild some document which gives a detailed explaination of it

-----Original Message-----
From: xxxxx@citrix.co.jp [mailto:xxxxx@citrix.co.jp]
Sent: Mon 7/8/2002 7:06 PM
To: Kernel Debugging Interest List
Cc:
Subject: [windbg] RE: FPO help

Hi, Prokash

the first parameter is function parameter, the second parameter is the
number of DWORDs for the locals and the third parameter is number of
registers saved.

FPO: [N1,N2,N3]
N1 is the total number of parameters.
N2 is the number of DWORDs for the locals.
N3 is number of registers saved.

Thanks,
futoshi

-----Original Message-----
From: Prokash Sinha [mailto:xxxxx@zonelabs.com]
Sent: Tuesday, July 09, 2002 4:00 AM
To: Kernel Debugging Interest List
Subject: [windbg] FPO help

Hi everyone,

I’m trying to find a good explanation about the FPO. Specially related to
the call stack we
see in Windbg. Like -

(FPO:[1, 0, 0] ) // other numbers too also with(out) EBP frame poiinter
ref…

thanx
prokash


You are currently subscribed to windbg as: xxxxx@citrix.co.jp
To unsubscribe send a blank email to %%email.unsub%%


You are currently subscribed to windbg as: xxxxx@microsoft.com
To unsubscribe send a blank email to xxxxx@lists.osr.com

Hi, nathann

Thanks a lot.
I am interested in how to specify local variables and parameters in FPO
function. Most of kernel function is using FPO data.
In this case, It is difficult for us to do so because they are pushed to
possitive direction to EBP.

How are you analayzing it normally?

Thanks,
Futoshi

-----Original Message-----
From: Nathan Nesbit [mailto:xxxxx@windows.microsoft.com]
Sent: Monday, July 15, 2002 12:24 PM
To: Kernel Debugging Interest List
Cc: xxxxx@citrix.co.jp; xxxxx@zonelabs.com
Subject: [windbg] RE: FPO help

FPO is a function call optimization that compilers do for x86 processors.
You can find some limited info about it in the debugger docs (search for
FPO). Searching MSDN or the web will probably yeild some document which
gives a detailed explaination of it

-----Original Message-----
From: xxxxx@citrix.co.jp [mailto:xxxxx@citrix.co.jp]
Sent: Mon 7/8/2002 7:06 PM
To: Kernel Debugging Interest List
Cc:
Subject: [windbg] RE: FPO help

Hi, Prokash

the first parameter is function parameter, the second parameter is
the
number of DWORDs for the locals and the third parameter is number of
registers saved.

FPO: [N1,N2,N3]
N1 is the total number of parameters.
N2 is the number of DWORDs for the locals.
N3 is number of registers saved.

Thanks,
futoshi

-----Original Message-----
From: Prokash Sinha [mailto:xxxxx@zonelabs.com]
Sent: Tuesday, July 09, 2002 4:00 AM
To: Kernel Debugging Interest List
Subject: [windbg] FPO help

Hi everyone,

I’m trying to find a good explanation about the FPO. Specially
related to
the call stack we
see in Windbg. Like -

(FPO:[1, 0, 0] ) // other numbers too also with(out) EBP frame
poiinter
ref…

thanx
prokash


You are currently subscribed to windbg as: xxxxx@citrix.co.jp
To unsubscribe send a blank email to %%email.unsub%%


You are currently subscribed to windbg as: xxxxx@microsoft.com
To unsubscribe send a blank email to
%%email.unsub%%

b.ஷ&v0w[,&m’"rN˧rzǧujy٨^jw[7b2(2(