ADPlus 转储分析。如果生产中不存在 PDB 文件?

Posted

技术标签:

【中文标题】ADPlus 转储分析。如果生产中不存在 PDB 文件?【英文标题】:ADPlus Dump Analysis. If PDB file is not present in production? 【发布时间】:2011-05-31 12:04:10 【问题描述】:

我正在分析一个在生产中随机挂起的应用程序。我想使用 ADPlus/DebugDiag 通过生成转储进行分析。如果我在运行“调试”模式应用程序的情况下生成转储,我可以看到正确的调用堆栈,其中提到了函数名称详细信息,但如果我使用“发布”模式应用程序生成转储,调用堆栈无法正确解析,因为 PDB 文件是在发布模式下不与它关联。

可能不允许我在生产环境中复制 PDB 文件。那么有没有其他方法可以解决调用栈呢?

如果您需要更多详细信息,请告诉我。

谢谢大家。

【问题讨论】:

【参考方案1】:

如果您有权访问发行版 pdb,那么您应该能够在加载转储时将您的 sympath 设置为该文件夹。最简单的方法是将 _NT_SYMBOL_PATH 环境变量设置为这些 pdb 的路径。然后,在加载转储时,调试器应该能够加载它们。

【讨论】:

以上是关于ADPlus 转储分析。如果生产中不存在 PDB 文件?的主要内容,如果未能解决你的问题,请参考以下文章

通过 adplus 收集转储的正确方法是啥?

DebugDiag 与 AdPlus

Adplus 转储创建失败 - 访问被拒绝

分析 Asp.net 死锁故障转储

实时调试堆栈溢出

应用程序在启动时崩溃 - 如何获取崩溃转储文件?