搭建Win7调试ACPI的环境
来源:互联网 发布:其恕乎的其是什么意思 编辑:程序博客网 时间:2024/04/28 00:22
这几天看<格蠹汇编>中调试ACPI相关章节,里面提到为了使用AMLI调试器,需要检查版本(Checked Build)的ACPI.sys。
我们平时使用的windows都是发行版本(Free Build),因此不能满足我们调试的需求。MSDN相关文档提到2个获得checked build的方法:1).从winddk的根目录下Debug/目录获取。很可惜,这个目录中只有ntkrnl.exe/hal.dll等文件,并没有acpi.sys;2).从MSDN Subscriber下载Checked Build OS。这需要Subscriber账号并订阅。说白了,人民币玩家才能从这下载到Checked Build OS。两种方式都行不通,只能通过baidu了。baidu上多数是调试Xp sp2的ACPI.sys,不幸的事,它们提供的指向微软下载中心的Checked Build补丁包都已经失效(被MS移除)。最终,我找到了win7 RTM x86 Checked build ACPI.sys。为了方便网友调试ACPI,我顺带给出了它的下载链接。
有了Checked Build ACPI.sys后,还需要与之对应的OS:en_windows_7_ultimate_x86_dvd_X15-65921.iso 可以从MSitellyou上获得对应的镜像。万事具备都就可以准备替换Acpi.sys。Vist以前的系统进入安全模式后就能替换,对于Vist以后的OS,以管理员身份运行下列命令,再替换(不需要进入安全模式):
takeown /f acpi.syscacls acpi.sys /G <username>:F ;username是当前用户的用户名 F是指获得所有权限重启OS连上windbg后,设置符号路径(MS下载中心win 7RTM x86调试符号包无法下载,所以只能在windbg中设置符号路径):
SRV*http://msdl.microsoft.com/download/symbols之后就可以开始调试ACPI了:
kd> lm m acpistart end module name88e18000 88e8d000 ACPI (pdb symbols) c:\symbols\w7rtmx86\acpi.pdb\D653AC015F2D49A68DD1DE36261E05661\acpi.pdbkd> lmvm acpistart end module name88e18000 88e8d000 ACPI (pdb symbols) c:\symbols\w7rtmx86\acpi.pdb\D653AC015F2D49A68DD1DE36261E05661\acpi.pdb Loaded symbol image file: ACPI.sys Image path: ACPI.sys Image name: ACPI.sys Timestamp: Tue Jul 14 07:34:34 2009 (4A5BC48A) CheckSum: 0007627F ImageSize: 00075000 Translations: 0000.04b0 0000.04e4 0409.04b0 0409.04e4
kd> !amli debugger ;使windbg与ACPI调试器建立链接kd> !amli dns ;查询ACPI命名空间的对象ACPI Name Space: \ (ffffffff84f59024)Unknown(\___)| Unknown(_GPE)| | Method(_L09:Flags=0x0,CodeBuff=ffffffff84f5f1f5,Len=222)| | Method(_L01:Flags=0x0,CodeBuff=ffffffff858c71b9,Len=15)| | Method(_L02:Flags=0x0,CodeBuff=ffffffff858c7c81,Len=10)| | Method(_L03:Flags=0x0,CodeBuff=ffffffff858c7cf5,Len=10)| Unknown(_PR_)| Unknown(_SB_)| | Method(STRC:Flags=0x2,CodeBuff=ffffffff84f59541,Len=73)| | OpRegion(OEMD:RegionSpace=SystemMemory,Offset=0x8b18de5d,Len=96)| | Field(:Base=)| | FieldUnit(:FieldParent=ffffffff84f59650,ByteOffset=0x0,StartBit=0x0,NumBits=288,FieldFlags=0x0)| | FieldUnit(CCAP:FieldParent=ffffffff84f59650,ByteOffset=0x24,StartBit=0x0,NumBits=32,FieldFlags=0x0)| | FieldUnit(ECFG:FieldParent=ffffffff84f59650,ByteOffset=0x28,StartBit=0x0,NumBits=32,FieldFlags=0x0)| | FieldUnit(PCHS:FieldParent=ffffffff84f59650,ByteOffset=0x2c,StartBit=0x0,NumBits=32,FieldFlags=0x0)| | FieldUnit(PCHE:FieldParent=ffffffff84f59650,ByteOffset=0x30,StartBit=0x0,NumBits=32,FieldFlags=0x0)| | FieldUnit(VMGC:FieldParent=ffffffff84f59650,ByteOffset=0x34,StartBit=0x0,NumBits=256,FieldFlags=0x0)| | FieldUnit(LDDV:FieldParent=ffffffff84f59650,ByteOffset=0x54,StartBit=0x0,NumBits=32,FieldFlags=0x0)| | FieldUnit(POSC:FieldParent=ffffffff84f59650,ByteOffset=0x58,StartBit=0x0,NumBits=32,FieldFlags=0x0)| | FieldUnit(SIOC:FieldParent=ffffffff84f59650,ByteOffset=0x5c,StartBit=0x0,NumBits=32,FieldFlags=0x0)| | Integer(TOOS:Value=0x0000000000000c00[3072])| | Integer(FLAG:Value=0x0000000000000001[1])| | Method(_INI:Flags=0x0,CodeBuff=ffffffff84f59b3d,Len=569)
0 0
- 搭建Win7调试ACPI的环境
- Win7双机调试环境搭建
- Win7+WinDbg+VMware+WinXP调试环境搭建
- Win7 ASP环境搭建及其调试
- Win7+VMWare8 搭建双机调试环境
- windbg vmware win7联机调试环境搭建
- Win7(WinDbg) + VMware(Win7) 双机调试环境搭建之一
- Win7(WinDbg) + VMware(Win7) 双机调试环境搭建之二
- Win7(WinDbg) + VMware(Win7) 双机调试环境搭建之三
- Win7(WinDbg) + VMware(Win7) 双机调试环境搭建之四
- Win7(WinDbg) + VMware(Win7) 双机调试环境搭建之五
- 【java】在win7下进行安卓调试环境的搭建。
- win7 asp环境搭建和调试很不错的图文讲解 好东西分享一下啦
- VMware+Windbg+Win7 内核驱动调试 ----(环境搭建)
- Davinci调试环境的搭建
- 驱动调试环境的搭建
- cts调试环境的搭建
- 设置win7的驱动调试环境
- Android四大组件之广播注册的两种方式
- core_animation_lesson5
- 自定义HorizontalScrollView
- NOIP2011【Mayan游戏】
- 牛顿迭代法
- 搭建Win7调试ACPI的环境
- Hadoop_Linux环境部署
- jquery源码笔记1-匿名自执行函数
- 确定误差
- 冒泡排序
- Windows下Anaconda2(Python2)和Anaconda3(Python3)的共存
- Problem 40 Champernowne's constant (暴力vector)
- HPU 1010: QAQ的序列价值 【状态压缩】
- 再论 Time stamp counter