2014-02-13 107 views
1

我編譯的EXE不斷崩潰。我在事件查看器下面的信息時,它崩潰:如何將崩潰的「Fault offset」與源代碼進行匹配?

異常代碼:0xc0000008
故障偏移:0x00000000000cb8e8

如何匹配「錯誤偏差」與我的C++代碼嗎?發佈文件夾中有一個.PDB文件,只是不知道如何解決這個問題。

+1

爲什麼不直接使用調試器? –

+0

該exe文件位於客戶的網站。 – JeffR

+0

再一次,爲什麼不只是使用調試器?大多數人有能力帶你到與特定地址相關的代碼。 –

回答

3

您還需要知道偏移量屬於哪個模塊,如果得到0xC0000008(STATUS_INVALID_HANDLE),那麼該異常可能會從ntdll.dll中拋出,這不會幫助您調試程序,因爲你關心的是更深層次的堆棧。

你應該做的是讓你的客戶啓用LocalDumps,然後發送你一個小型轉儲文件,你可以可以調試。

樣品註冊表設置:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps] 
"DumpFolder"="d:\\miniDumps" 
"DumpType"=dword:00000002 
"CustomDumpFlags"=dword:00001124 
+0

好的......我如何將迷你轉儲文件加載到VS中進行調試? – JeffR

+1

打開VS並將其拖入。http://msdn.microsoft.com/en-us/library/d5zhxt22.aspx –

+0

所以我有了這個dmp文件,我將它拖入到VS2012中,我將它附加到正在運行的服務進程中。 ..怎麼辦? – JeffR