Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我们有一个问题,我正在寻找方向。我们有一个旧的基于 MFC 的应用程序,由于各种原因,该应用程序有时会在一些奇怪的情况下间歇性地崩溃。甚至使用我们的应用程序并遇到这些崩溃的客户也很难确定崩溃的模式。所以,我有一个想法,如果我们可以有一种机制,我们可以在应用程序崩溃时生成日志。例如,调用堆栈或该日志中的任何其他信息。我知道,在这种情况下,我们可以使用故障转储,但我觉得拥有日志是一个更好的选择。因此,这方面的任何帮助或信息都会非常有帮助。
谢谢你。
您可以在此处的链接中找到崩溃报告器的良好实现。
编译发布版本时,请确保同时启用/MAPDEBUG和/MAP 。将您的二进制文件与您的文件一起.map存储,让您的客户运行此版本,直到产生崩溃。在事件查看器中,您将找到带有崩溃偏移量的崩溃日志。然后调试步骤进入您的代码 (F10) 并使用崩溃偏移以及一些漂亮的技巧和技巧来跳转(将EIP寄存器设置为......好吧,您必须用谷歌搜索一下)到崩溃发生的位置。您现在应该能够找到错误!
DEBUG
.map
EIP