Advanced Debugging
About AdvDbg Consult Train Services Products Tools Community Contact  
欢迎光临 高端调试 登录 | 注册 | FAQ
 
  ACPI调试
Linux内核调试
Windows内核调试
 
  调试战役
调试原理
新工具观察
 
  Linux
Windows Vista
Windows
 
  Linux驱动
WDF
WDM
 
  PCI Express
PCI/PCI-X
USB
无线通信协议
 
  64位CPU
ARM
IA-32
  CPU Info Center
 
  ACPI标准
系统认证
Desktop
服务器
 
  Embedded Linux
嵌入式开发工具
VxWorks
WinCE
嵌入式Windows
 
  格蠹调试套件(GDK)
  格蠹学院
  小朱书店
  老雷的微博
  《软件调试》
  《格蠹汇编》
  《软件调试(第二版)》
沪ICP备11027180号-1

《软件调试》答疑

帖子发起人: 小兵   发起时间: 2010-04-28 23:27 下午   回复: 1

Print Search
帖子排序:    
   2010-04-28, 23:27 下午
xiaobing 离线,最后访问时间: 2010/3/30 5:54:25 小兵

发帖数前50位
注册: 2010-03-30
发 贴: 19
请教P605中如何根据FPO信息算出代码的长度
Reply Quote
P605从上往下数第6行,有一个FPO信息: (FPO:[1,2,1])

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

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

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



IP 地址: 已记录   报告
   2010-04-29, 22:56 下午
Raymond 离线,最后访问时间: 2020/7/3 3:40:25 格蠹老雷

发帖数前10位
注册: 2005-12-19
发 贴: 1,303
Re: 请教P605中如何根据FPO信息算出代码的长度
Reply Quote

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

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

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

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

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

 


IP 地址: 已记录   报告
高端调试 » 图书 » 《软件调试》答疑 » 请教P605中如何根据FPO信息算出代码的长度

 
Legal Notice Privacy Statement Corporate Governance Corporate Governance
(C)2004-2020 ADVDBG.ORG All Rights Reserved.