【发布时间】:2011-06-18 14:00:40
【问题描述】:
在发布版本中程序崩溃时如何创建 dmp 文件?我想我应该触发异常,但我不知道如何
【问题讨论】:
-
什么平台? C++ 标准不包括故障转储,为此您需要特定于操作系统的机制。
标签: c++ windows crash-dumps
在发布版本中程序崩溃时如何创建 dmp 文件?我想我应该触发异常,但我不知道如何
【问题讨论】:
标签: c++ windows crash-dumps
在 Windows 上,您可以使用 Debug Helper API 将小型转储文件写入您选择的任何位置。此文件不需要发送给 Microsoft。
http://msdn.microsoft.com/en-us/library/ms680369(v=vs.85).aspx
正如其他人所提到的,如果没有来自正确构建的 PDB 文件,转储文件将毫无用处。您可能需要考虑使用 Microsoft 的符号服务器来索引和管理 PDB 文件。
您可能还想使用 Breakpad 直接向您报告客户端错误:
【讨论】:
Windows automatically generates a minidump 每当程序 throws 出现未处理的异常(即您没有 catch 块的异常)。 请务必构建 pdb 文件(假设您使用 Visual Studio),以便您可以调试 dmp 文件。
【讨论】: