我有一个应用程序在发布版本中偶尔会崩溃;不幸的是,它看起来像是在第 3 方 DLL 中崩溃。在尝试处理它时,我一直在如何操作和 Windows 如何创建故障转储的描述的海洋中游泳。
我正在考虑使用这个建议的小型转储:
Getting a dump of a process that crashes on startup
我计划在代码中保留此功能,以便始终为我的应用程序创建转储,而无需事先设置 PC。顺便说一句,此应用程序不用于分发;它将与我们自己的硬件配对,所以我不担心随机用户在应用程序崩溃时在他们的机器上构建转储文件。
补充说明:所有代码都是 C/C++。
Dr. Watson (drwtsn32.exe) 和此代码将为我生成的内容有区别吗?
最佳答案
有了 Watson 博士,只有当博士看到您“崩溃”时,您才会感到沮丧。使用 dumper API,您将能够从应用程序中的任何位置调用它。例如。您可以将普通断言蹦床转储而不是显示对话框。根据我的经验,一旦你的应用程序支持转储,你会发现调查、故障排除和修复各种问题会更容易,因为你可以在任何你认为合适的地方生成完整的转储(甚至是小型转储)代码。
关于c++ - Win32 : Is there a difference between Dr. Watson 的完整/小型转储并编写我自己的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2694701/