我有一个应用程序,我正在尝试调试崩溃.但是,由于以下几个原因很难检测到问题:
崩溃发生在关机时,这意味着有问题的代码不在堆栈中
崩溃只发生在发布版本中,意味着符号不可用
崩溃,我的意思是以下例外:
0xC0000005: Access violation reading location 0x00000000.
您将使用什么策略来诊断此问题?
到目前为止我所做的是从我的程序中删除尽可能多的代码,直到我得到最小的导致崩溃的代码.它似乎发生在与项目静态链接的代码中,所以这也无济于事.
即使是发布版本,您也可以创建符号文件.这样做,运行程序,附加调试器,关闭它,并在调试器中查看崩溃的原因.