windbg符号链接的问题.还有KeServiceDescriptorTableShadow内存块查找时问号的情况
来源:互联网 发布:java bigdecimal 乘法 编辑:程序博客网 时间:2024/06/04 17:56
最近配置windbg比较郁闷,搞了几天才搞定,自己的经验希望能帮助大家.也方便自己以后查阅
首先介绍几个命令:
lm 列出加载模块信息 如下
0: kd> lm
start end module name
80800000 80a28000 nt (export symbols) ntkrnlmp.exe
Unloaded modules:
f58aa000 f58d5000 kmixer.sys
f7da6000 f7da7000 drmkaud.sys
f5a6d000 f5a7a000 DMusic.sys
f58d5000 f58f8000 aec.sys
f5a8d000 f5a9b000 swmidi.sys
f7c15000 f7c17000 splitter.sys
f7853000 f785e000 imapi.sys
f7833000 f783c000 HIDCLASS.SYS
f74ef000 f74f2000 HidUsb.sys
f7ba7000 f7bab000 KbdHid.sys
f79cb000 f79d0000 usbohci.sys
f79c3000 f79c8000 Cdaudio.SYS
f7b9f000 f7ba2000 Sfloppy.SYS
!sym noisy 开启详细调试信息
0: kd> !sym noisy
noisy mode - symbol prompts on
然后配置路径加载驱动符号:
打开文件->符号文件路径->添加你的文件路径.可以在微软网站下载符号(建议全部下载脱机情况下也能用)http://msdn.microsoft.com/enus/windows/hardware/gg463028
设置好路径加载 输入 .reload 加载符号
bf800000 bf9c5e80 win32k T (no symbols) //- 妈的win32k.sys没有加载
强制运行 .reload /f win32k.sys //- /f选项强制加载也不成
搜了下往上资料设置网络自动下载路径:
打开文件->符号文件路径->添加你的文件路径用分号和之的路径分隔开SRV*C:\MyLocalSymbols*http://msdl.microsoft.com/download/symbols
若发现符号不能自动下载说明你的windbg版本和你现在使用的系统版本不符(http://msdn.microsoft.com/en-US/windows/hardware/hh852360)这个网站下载windbg 注意这里面不只是windbg而已,而且包括源文件和一些相关的工具
比较大。我们重新加载之. 若发现c:\MyLocalSymbols文件下多了很多文件说明下载成功.我们开下加载情况
若发现其中只加载了部分符号 其他显示为deferred 我们可以用 .reload /i
start end module name
80800000 80a28000 nt (pdb symbols) d:\symbols\exe\ntkrnlmp.pdb
80a28000 80a48d00 hal (pdb symbols) d:\symbols\dll\halmacpi.pdb
bf000000 bf011600 dxg (pdb symbols) d:\symbols\sys\dxg.pdb
bf012000 bf026b80 vmx_fb T (no symbols)
bf800000 bf9c5e80 win32k (pdb symbols) c:\mylocalsymbols\win32k.pdb\CC2837A766214B4A86F05D51DC8EC5302\win32k.pdb
f548c000 f54cca80 HTTP (pdb symbols) d:\symbols\sys\http.pdb
f55e5000 f563c600 srv (pdb symbols) c:\mylocalsymbols\srv.pdb\B71D43221C284A288535837C8BDEA3302\srv.pdb
f56dd000 f5725e80 sogounetopt (no symbols)
f58f8000 f590c480 wdmaud (pdb symbols) d:\symbols\sys\wdmaud.pdb
f59d5000 f59ec780 hgfs (no symbols)
f5a09000 f5a0b500 ProtectorA (no symbols)
f5a9d000 f5aabd80 sysaudio (pdb symbols) d:\symbols\sys\sysaudio.pdb
f5c81000 f5c84900 ndisuio (pdb symbols) d:\symbols\sys\ndisuio.pdb
f5d5d000 f5d74900 dump_atapi (pdb symbols) d:\symbols\sys\atapi.pdb
f5d9d000 f5dc3000 BAPIDRV (no symbols)
f5dc3000 f5e32c80 mrxsmb (pdb symbols) c:\mylocalsymbols\mrxsmb.pdb\8BBCE1B6ABFA41FBA89E2F1C45B4E0A52\mrxsmb.pdb
f5e33000 f5e65b00 qutmdrv (no symbols)
f5e8e000 f5eb8e80 rdbss (pdb symbols) d:\symbols\sys\rdbss.pdb
f5eb9000 f5edad00 afd (pdb symbols) c:\mylocalsymbols\afd.pdb\0975A36674EA47B7A3C42DEC1731798F2\afd.pdb
发现win32k加载成功了
我们继续找影子表的内容:
0: kd> dd KeServiceDescriptortableShadow
8088b4e0 8080d8a0 00000000 0000011c 8083a0bc
8088b4f0 bf99ce00 00000000 0000029b bf99db10
8088b500 00000000 00000000 00000000 00000000
8088b510 00000000 00000000 00000000 00000000
8088b520 8080d8a0 00000000 0000011c 8083a0bc
8088b530 00000000 00000000 00000000 00000000
8088b540 00000000 00000000 00000000 00000000
8088b550 00000000 00000000 00000000 00000000
bf99ce00 为影子表的地址:
我们继续查看下:
0: kd> dd bf99ce00
bf99ce00 ???????? ???????? ???????? ????????
bf99ce10 ???????? ???????? ???????? ????????
bf99ce20 ???????? ???????? ???????? ????????
bf99ce30 ???????? ???????? ???????? ????????
bf99ce40 ???????? ???????? ???????? ????????
bf99ce50 ???????? ???????? ???????? ????????
bf99ce60 ???????? ???????? ???????? ????????
bf99ce70 ???????? ???????? ???????? ????????
我们在用户态下给他下个断点: bp NtUserPostMessage
0: kd> bp NtUserPostMessage
WARNING: Software breakpoints on session addresses can cause bugchecks.
Use hardware execution breakpoints (ba e) if possible.
告诉会引起bug 有可能的话让我们用硬件断点。不你妈管了 F5跑起来 ,在虚拟机上开个我的电脑断下来继续查看
1: kd> dd bf99ce00
bf99ce00 bf939134 bf94a6a7 bf86febb bf942269
bf99ce10 bf94bcbe bf9393c8 bf93946d bf831689
bf99ce20 bf94b5e5 bf937533 bf94bbdd bf910121
bf99ce30 bf8ff4d3 bf80992d bf94baaf bf94d2ab
bf99ce40 bf8fddd0 bf876f9c bf94bb8d bf94d3de
bf99ce50 bf81c82c bf8e5895 bf8ac916 bf85a039
bf99ce60 bf91135c bf80e2e8 bf8e553d bf94d0a3
bf99ce70 bf94dfae bf813a94 bf80c889 bf8da236
终于大功告成了!
- windbg符号链接的问题.还有KeServiceDescriptorTableShadow内存块查找时问号的情况
- 关于windbg不能正确显示KeServiceDescriptorTableShadow的问题
- windbg的符号文件查找
- 符号链接的查找
- Windbg符号无法加载的问题
- 递归查找无效的符号链接
- 使用WinDBG调试内存泄露的问题
- windbg符号表问题,曾经纠结的东东
- Windbg的各种符号服务器
- Windbg的各种符号服务器
- android的问号?和@符号的含义
- Android的问号?和@符号的用法
- 关于项目上出现问号的情况
- Windbg符号路径问题
- WinDBG加载符号表的一点心得体会
- 安装与配置windbg的symbol(符号)
- 安装与配置windbg的symbol(符号)
- 【分享】Windbg的各种符号服务器
- Struts2中文传参问题
- 国内20个最文艺小清新网站,推荐给你
- 如何判断一个图中是否存在回路
- 非虚继承类,虚继承类的sizeof分析--GCC编译器和VC编译器
- 如何判断一个图中是否存在回路
- windbg符号链接的问题.还有KeServiceDescriptorTableShadow内存块查找时问号的情况
- Host 'aeolus-PC2' is not allowed to connect to this MySQL server
- Selected collating sequence not supported by the operating system
- 如果理解oop
- Hadoop 实战之单词计数WordCount
- 长春赛 K题
- 输出星号图
- Android-Sensor应用解析
- 南阳理工之两点距离