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