我正在使用 windbg 分析转储文件所在的另一台计算机上的内存转储。在工具的命令行中,我输入了以下内容:
.loadby w3core w3core
这是错误:
调用 LoadLibrary(c:\windows\system32\inetsrv\w3core.dll) 失败,Win32 错误 0n126 “找不到指定的模块。” 请检查您的调试器配置和/或网络访问
更新:我创建转储文件的过程是 w3wp.exe。我认为这是针对 IIS 的。它是 IIS 工作进程。因此,w3core.dll 必须与 IIS 工作进程相关。
只是为了查看我的步骤,我使用调试诊断工具来监视计算机 A 上特定进程的崩溃。(计算机 A 运行的是 Windows Server 2003 Standard 32 位、IIS 6;未安装 ASP.NET。)这次崩溃创建了一个内存转储文件。我将此转储文件复制到安装了调试诊断工具和 windbg 的计算机 B。在计算机 B 上,我在调试诊断工具的高级分析选项卡中添加了转储文件,然后单击“开始分析”按钮。分析总结报告:
the module c:\WINDOWS\system32\inetsrv\32.core.dll has caused an access violation
exception(0xC0000005) when trying to read from memory location 0x53534553 on thread 4
我打开了windbg并添加了符号文件路径
SRV*downstream_store*http://msdl.microsoft.com/download/symbols
然后,我打开转储文件并输入上述命令,它吐出上述错误。我可以保证该文件确实存在。
问题是什么?是不是因为我在计算机 B 上调试,而实际上转储文件来自计算机 A?除此之外,我不确定我做错了什么。
为什么我不能加载这个模块?非常感谢您的帮助。