请教P605中如何根据FPO信息算出代码的长度

《软件调试》答疑

请教P605中如何根据FPO信息算出代码的长度


小兵 2010-04-28, 23:27 下午
P605从上往下数第6行,有一个FPO信息: (FPO:[1,2,1])

然后在同一页中下方有这句话:
根据FPO信息,WinDBG可以知道函数的参数长度(0x4)、局部变量的长度(0x8)、代码块的长度(0x62)等信息。

根据FPO:[1,2,1]中的前2个数值是可以知道: 函数的参数长度=0x4、局部变量的长度=0x8,
但是,请问代码块的长度(0x62)这个是如何算出来的啊?

这一节看了几遍,还是不清楚这个0x62是从那的,呵呵...


Re: 请教P605中如何根据FPO信息算出代码的长度


格蠹老雷 2010-04-29, 22:56 下午

有点误会 :-),原文中的FPO信息是指符号文件中的信息:

“WinDBG可以在符号文件中搜索到这个函数的FPO信息,... 根据FPO信息,...”

也就是下图中第2行的信息:

(可以使用SymView工具打开release目录下的localvar.pdb得到上图)

书中缺少上面这幅插图,出现0x62这个值的确有些突兀。下一版会改进,多谢反馈。

 

Powered by Community Server Powered by CnForums.Net