【发布时间】:2020-10-08 12:20:07
【问题描述】:
在获取DebugDiag to analyse crash-dump files 失败后,建议我尝试改用WinDbg。
故障转储文件已在 Windows Server 2016 机器上创建,在 IIS-10 上运行我的 ASP.Net 4.5.2 Web 应用程序。我的 ASP.Net Web 应用程序包含多个 3rd 方组件,以及它们各自的 DLL。
我已将故障转储文件复制到我的 Windows 10 开发机器上,并在本地而不是在服务器上运行 WinDbg。
问题是...当我在 WinDbg 中对任何故障转储文件运行 !analyze -v 时,它实际上挂起,而“下载文件 xxx.DLL”(xxx.DLL 是只是其中一个 3rd 方组件 DLL 的名称),并最终在一段时间后自行取消。
我在最初构建网站的同一台机器上运行 WinDbg...有没有办法告诉 WinDbg 它可以在本地机器上的特定位置找到 DLL ?
我显然没有任何第 3 方组件的 .pdb 文件,因此我不担心它为这些 DLL 加载符号……但我以某种方式告诉它忽略那些特定的 DLL ,或者我告诉它如何在本地找到它们。
谁能指出我正确的方向?
【问题讨论】:
-
对于 .NET Framework 应用程序,您实际上并不需要
!analyze -v,因为它主要用于本机崩溃和其他问题。浏览托管线程并检查它们的调用堆栈,罪魁祸首应该很清楚。提示可以在 dougrathbone.com/blog/2014/03/20/… 之类的帖子中找到 -
再次感谢您的帮助@Lex(变成我的私人助理)...感谢您的博文。我会继续调查
-
@Lex - 花了一段时间,但我最终将问题追溯到特定的第 3 方组件。再次感谢博文,真的很有帮助
-
您可以将所学内容总结为答案并接受。 .NET 转储分析对于某些场景(例如您的场景)实际上很容易,因此一旦您掌握了基本步骤,您就可以在未来征服更大的步骤。
-
@Lex - 终于有时间写一个答案。我敢肯定我的方法有很多漏洞,但我如何做到这一点是准确的
标签: iis windbg crash-dumps iis-10