我在远程(客户端)有一个VC ++ exe。他们重新发现崩溃已经发生。如何在不使用源代码的情况下识别问题原因并且我只想使用.pdb文件进行分析。请告诉我如何使用.pdb文件进行调试。
答案 0 :(得分:0)
首先使用 WIndbg或DebugDiag
获取崩溃转储请与客户核实是否可以安装上述任何工具并获得转储。
请求客户发送转储,以查找您所说的特定exe崩溃的崩溃。
接下来使用正确的pdb在您的机器中使用windbg或debugdiag分析转储文件。
请告知是否需要更多信息。 分析转储的最小帮助将在windbg或debugdiag本身的帮助文件中给出。
答案 1 :(得分:0)
您也可以在Visual Studio中打开转储和迷你转储文件(使用Open Project打开它们...并指向dmp文件。)如果您有正确索引的pdb文件,您通常可以获得正确的索引调用堆栈,它将指向错误发生的位置。
您还应该查看Windows错误报告。如果这是商用软件,我建议您在部署之前签署二进制文件。然后,您可以要求客户通过其标准Windows错误报告服务向Microsoft提交错误。
另一方面,您可以注册他们的WER门户网站,并使用您签署二进制文件的证书认证自己。从门户网站,您可以获取错误统计信息并下载特定的转储文件。
如果软件在隔离环境(私有域)中运行,则可以在活动目录中推出自定义全局策略,该策略将WER配置为将域文件提交到域中的特定Windows共享,开发人员可以在其中收集这些文件。
希望这有帮助,
- larsw
答案 2 :(得分:0)
以下是要遵循的初始步骤:
在客户机器上:
一个。安装windbg。这可以从微软网站下载
湾安装后注册即时调试器[windbg -l]
C。执行导致崩溃的应用程序
d。发生碰撞时,windbg会自动打开
即保存转储文件。
在您的机器上:
一个。使用windbg打开故障转储。
湾在windbg中设置机器上的pdb文件和源文件
C。您可以使用visual studio中的项目属性生成pdb。
我在http://kmdarshan.com/blog/2011/06/29/windows-debugging-using-windbg/
中找到了更多详情