visual-studio - 在 Visual Studio 中分析故障转储

标签 visual-studio crash crash-dumps

我有一个 *.dmp (转储)我崩溃的应用程序的文件。现在,我想在另一台机器上分析崩溃的进程。也就是说,应用程序在一台机器上崩溃了,而我在另一台机器上有 Visual Studio。

现在,我需要什么才能看到我的应用程序的堆栈跟踪和所有符号?是 *.exe文件和 *.dmp文件够吗?

或者我还需要源代码和 PDB 文件吗?

如果是这样,源代码和可执行文件是否应该放在与进程运行的机器上相同的目录结构中?

如何将 PDB 文件附加到 Visual Studio 中的故障转储文件?

最佳答案

不,您肯定需要 .pdb 文件来获得体面的堆栈跟踪。到目前为止,最简单的方法是在您构建程序的机器上执行此操作,源代码和 .pdb 文件将位于正确的位置。

接下来最好的事情是将完全相同的可执行文件复制到安装在故障机器上的完全相同的文件夹中。将 .pdb 文件复制到同一目录中,如果调试器在原始构建位置找不到它们,那么它就是下一步查找的位置。一旦调试器找到带有源代码的语句并且 .pdb 没有被剥离,它就会提示您提供源代码文件的位置。

下一个最好的事情是工具 + 选项、调试、符号,并将路径添加到包含 .pdb 文件的目录。

在同一个对话框中,还打开 Microsoft 符号服务器 (http://msdl.microsoft.com/download/symbols)。这将为您提供 Windows DLL 的符号,并让您在崩溃发生在 Windows DLL 中时准确地追溯到您自己的代码。

关于visual-studio - 在 Visual Studio 中分析故障转储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12252407/

相关文章:

asp.net - VS 2010 Beta 2,无法从类库中添加对 System.Web.Routing 的引用

ios - 在没有存档的情况下符号化 iOS Crashlog

c++ - 在所有错误情况下,我需要采取哪些操作来获取故障转储?

c++ - 在 C++ 中逐行读取文本文件,每行具有不同的数据类型?

visual-studio - VS Image Watch 扩展 natvis 用于 BITMAPINFOHEADER?

mysql - mysql/Innodb崩溃重启的主要原因

java - 在 Ubuntu 下以编程方式 self 重启 Java 应用程序的最佳方法是什么

macos - 对话框在 Android Studio IDE 中显示为选项卡,然后 IDE 变得无响应

asp.net - 遍历 !DumpHeap 输出以读取内存偏移量处的值

visual-studio - 为什么从 Visual Studio 2008 中删除了在新 ATL 项目中使用属性的选项?