应用程序崩溃 C++/MFC 的通用日志

Generic log for application crash C++/MFC

本文关键字:日志 MFC 崩溃 C++ 应用程序      更新时间:2023-10-16

我们有一个问题,我正在寻找一个方向。我们有一个旧的基于 MFC 的应用程序,由于各种原因,在某些奇怪的场景中,应用程序有时会间歇性崩溃。即使是使用我们的应用程序并遇到这些崩溃的客户也发现很难识别崩溃模式。所以,我有一个想法,如果我们能有一种机制,每当应用程序崩溃时,我们就可以生成日志。例如,调用堆栈或该日志中的任何其他信息。我知道,在这种情况下,我们可以使用故障转储,但是我觉得拥有日志是更好的选择。因此,这方面的任何帮助或信息都将非常有帮助。

谢谢。

您可以在此处的链接中找到崩溃报告器的良好实现。

编译发布版本时,请确保同时启用 DEBUG 和/MAP。将二进制文件与.map文件一起存储,并让客户运行此版本,直到产生崩溃。然后,在事件查看器中,您将找到带有崩溃偏移的崩溃日志。然后调试步骤到您的代码 (F10) 中,并使用崩溃偏移量以及一些漂亮的技巧和技巧来跳转(将寄存器EIP设置为...好吧,你必须谷歌一下)到崩溃发生的位置。您现在应该能够找到错误!