如何在应用程序退出时诊断访问冲突

Fry*_*Guy 3 c++ wtl

我有一个应用程序,我正在尝试调试崩溃.但是,由于以下几个原因很难检测到问题:

  • 崩溃发生在关机时,这意味着有问题的代码不在堆栈中
  • 崩溃只发生在发布版本中,意味着符号不可用

崩溃,我的意思是以下例外:

0xC0000005: Access violation reading location 0x00000000.
Run Code Online (Sandbox Code Playgroud)

您将使用什么策略来诊断此问题?

到目前为止我所做的是从我的程序中删除尽可能多的代码,直到我得到最小的导致崩溃的代码.它似乎发生在与项目静态链接的代码中,所以这也无济于事.

Nem*_*vic 5

即使是发布版本,您也可以创建符号文件.这样做,运行程序,附加调试器,关闭它,并在调试器中查看崩溃的原因.