5. 64bit的任务管理器抓了32bit的dump怎么分析
在 dump 分析中,如果你打开的 windbg 界面是这样的。
************* Path validation summary **************
Response Time (ms) Location
Deferred SRV*C:\mysymbols*http://msdl.microsoft.com/download/symbols
Symbol search path is: SRV*C:\mysymbols*http://msdl.microsoft.com/download/symbols
Executable search path is:
Windows 10 Version 19045 MP (12 procs) Free x64
Product: WinNt, suite: SingleUserTS
Edition build lab: 19041.1.amd64fre.vb_release.191206-1406
Debug session time: Wed Dec 6 09:29:31.000 2023 (UTC + 8:00)
System Uptime: 0 days 12:41:19.143
Process Uptime: 0 days 0:00:11.000
....................................
For analysis of this file, run !analyze -v
wow64cpu!CpupSyscallStub+0xc:
00000000`77e01cfc c3 ret
那么恭喜你,你用 64bit 任务管理 采集的 32bit 程序,怎么看出来的呢?就是通过这里的 wow64cpu
,接下来告诉大家转。
- 选择 x86 架构
用 windbg 选择 Open Dump File, 将默认的 Autodetect 改成 x86,这个切记。
- 下载 soswow64.dll 强转
soswow64 这个东西可以让程序在 64 和 86 上自由切换,因为我们的程序本质上是 32bit ,因误入歧途进了 64bit,所以要给它打回原形。
下载地址:https://github.com/poizan42/soswow64/releases
- 这是使用前的 windbg 界面:
- 这是使用后的 windbg 界面
接下来把下面的命令丢到 Command 界面上去。
.load C:\soft\soswow64\soswow64.dll
!wow64exts.sw