c++ - 如何在没有开发 IDE 的系统上处理我的 C++ 程序崩溃?

标签 c++ debugging crash crash-reports crash-dumps

我正在未安装开发 IDE (Visual Studio C++) 的 Windows 8 系统上测试我的 C++ 应用程序崩溃。我能够从 Windows 事件日志中获得以下信息:

Fault bucket , type 0
Event Name: APPCRASH
Response: Not available
Cab Id: 0

Problem signature:
P1: my_app_name.exe
P2: 1.0.2.0
P3: 4fffd4db
P4: my_app_name.exe
P5: 3.0.2.0
P6: 4fffd4db
P7: c0000005
P8: 00074eb0
P9: 
P10: 

Attached files:
C:\Windows\Temp\WER4AEB.tmp.appcompat.txt
C:\Windows\Temp\WER4B0B.tmp.WERInternalMetadata.xml
C:\Windows\Temp\WER4B0C.tmp.hdmp
C:\Windows\Temp\WER4CD2.tmp.dmp

These files may be available here:
C:\ProgramData\Microsoft\Windows\WER\ReportQueue\AppCrash_my_app_name.exe_8ea1c961fdc39248f2954cb7413ed349afffc9_cab_0d004d0d

Analysis symbol: 
Rechecking for solution: 0
Report Id: 4c93c3b5-ccc2-11e1-9b6e-000c297b96e1
Report Status: 4
Hashed bucket: 

我试图转到提供的那些路径以获取 .hdmp 和 .dmp 文件,但在该报告中没有任何指向。

知道如何处理这种情况吗?

最佳答案

我认为您的服务故障转储可能写入此处:

%WINDIR%\System32\Config\SystemProfile

根据 this不确定这是否仍然是 Win 8 的相同路径。

您可以使用 AdPlusProcDump或使用 MiniDumpWriteMiniDump 以编程方式执行此操作将内存转储写入您选择的位置,还有 ETW可用于事件追踪。

转储文件可以在 Visual Studio 或 WinDbg 中打开,然后您可以查看应用程序状态。

在 WinDbg 中:

!analyze -v

将尝试为您找出崩溃的原因,希望对您有所帮助。

关于c++ - 如何在没有开发 IDE 的系统上处理我的 C++ 程序崩溃?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11467574/

相关文章:

java - 调试 Java 代码时如何使用 Scanner 类对象设置变量的值?

debugging - OllyDbg 和 WinDbg 有什么区别?

debugging - GDB还是Radare2?

windows - Clang 在 Windows 7 64 位上崩溃

ios - React Native App 在设备的启动屏幕上崩溃

c++ - boost::python 函数调用中 boost::shared_ptr 的转换

c++ - 为什么我的 char[] 存储垃圾?

c++ - 将三路比较运算符的结果与 nullptr 进行比较有什么作用?

c - 在 for 循环中初始化双向链表会导致崩溃

c++ - 如何在给定字符串中查找字母序列?