今天在Code Project最新更新中看到"XCrashReport : Exception Handling and Crash Reporting"一文,泛讀之后,又讀了其中引用的幾篇文章。覺得挺不錯。主要講了VC Relase版本如何定位問題,主要思路是打開Link選項"Generate debug info"、添加參數(shù)"/OPT:REF"和/ignore:4089 ",用作Release版本產(chǎn)生PDF,且優(yōu)化的時候能使產(chǎn)生的目標(biāo)文件更小。效果比較明顯。
隨便寫了一個會崩潰的工程,崩潰后記錄其崩潰位置,然后隨便打開一款調(diào)試器(OD,WinDBG,VC都可)運(yùn)行debug,然后改EIP到出錯的位置下斷,GO!
其實(shí),在運(yùn)行出錯的位置,然后改EIP的方法,以前在用OD時會使用到(類似F4或VC調(diào)試時的移動EIP),一直覺得ESP和Call Stack應(yīng)該是分析Crash的重點(diǎn),有時忽略了EIP的重要性。
隨便寫了一個會崩潰的工程,崩潰后記錄其崩潰位置,然后隨便打開一款調(diào)試器(OD,WinDBG,VC都可)運(yùn)行debug,然后改EIP到出錯的位置下斷,GO!
其實(shí),在運(yùn)行出錯的位置,然后改EIP的方法,以前在用OD時會使用到(類似F4或VC調(diào)試時的移動EIP),一直覺得ESP和Call Stack應(yīng)該是分析Crash的重點(diǎn),有時忽略了EIP的重要性。


