昨晚有客戶反應,產品中的某個進程啟動后1分鐘內會消失,看了log未發現異常。
于是遠程過去,想看本潰報告,很遺憾的是,沒有生成任何本潰報告(我們用的是Debug系列的api寫的Crash Reporter)。情急之下,唯有求助偉大的Windbg了。
attach,g,過一會兒,果然發現是有一處seh。但隨即發現缺symbols,于是馬上去發布服務器上找相應的pdb文件,放到遠程上去,.reload,果然,未知地址被準確地翻譯成代碼中的標識符。
原來,崩潰的地方是動態加載的一個dll中的一個回調函數,怪不得沒捕獲到Crash Report。
總結下來,Release版本的PDB生成是個關鍵,單有Windbg仍舊是巧婦難為無米之炊啊。