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/

相关文章:

c++ - 在 C\C++ 中实现多生产者/消费者无锁队列

c++ - 使用std::hash <uint64_t>作为自定义类

python - 我可以使用数据转储找出 Python 应用程序崩溃的位置吗?

android - try catch 崩溃应用程序android

unity-game-engine - Google Play 游戏服务登录时应用程序崩溃

c++ - 在windows中执行linux c++程序

c++ - tbb parallel_for 例如没有 lambda 的 c++

cocoa - 如何调试仅在启用断点时在主循环之前崩溃的 Cocoa 应用程序?

c - 调试 postgresql for where 'A' < 'a'

android - 应用程序能否在一台平板电脑上崩溃,而不会在所有其他平板电脑上崩溃?