在不安装Visual Studio的情况下在Windows上获取崩溃的堆栈跟踪?(C++)

Voj*_*zín 7 c++ debugging crash-reports stack-trace visual-studio

我有一个C++应用程序,它在世界另一端的某个人的计算机上崩溃.我无法模拟它或获得相同的计算机.这个人不是开发人员,所以我不能真的要求他安装Visual Studio或其他东西.我有很深的调试日志,但他们没有透露任何可用的东西.

是否有工具可以在崩溃时生成应用程序的堆栈跟踪?这样的东西在OSX中可用,但似乎Windows没有它.

Nas*_*sir 5

您可以使用 procdump。它可以设置为调试器,自动为崩溃的进程创建转储。

Procdump 是 Sysinternal 工具的一部分,可以在以下位置找到:

http://technet.microsoft.com/en-us/sysinternals/dd996900.aspx

相关开关:

为挂起的应用程序创建转储:

当其中一个 Windows 没有响应超过 5 秒时,为名为“hang.exe”的进程编写一个小型转储:

C:\>procdump -h hang.exe hungwindow.dmp
Run Code Online (Sandbox Code Playgroud)

自动为崩溃的应用程序创建转储:

注册为即时 (AeDebug) 调试器。在 c:\dumps 中进行完整转储。

C:\>procdump -ma -i c:\dumps
Run Code Online (Sandbox Code Playgroud)

为 pid 创建转储:

 C:\>procdump <PID>
Run Code Online (Sandbox Code Playgroud)

您可以使用windbg读取转储文件:转储文件分析入门