我有一个 *.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/