2008-09-14 92 views
1

瞭解異常代碼,有沒有辦法找到更多關於拋出的實際異常的含義?C++異常代碼查找

我的問題異常: 0x64487347

異常地址:爲0x1

調用堆棧顯示任何信息。

我正在評論一個崩潰的.dmp,而不是真正在Visual Studio中進行調試。

回答

4

因爲你正在評論崩潰轉儲我假設它進來了來自客戶,你不能輕易地與更多的儀器重現故障。

我沒有太多的幫助提供保存,注意異常代碼0x64487347是ASCII「dShG」,開發人員在編寫這樣的幻數時常常使用例程或故障條件的首字母。

一個小Googling在適當的情況下打開了一重擊爲DHSG,在谷歌圖書搜索功能的名稱「使用Visual C++ 6」由凱特·格雷戈裏。不幸的是,單是沒有幫助。

+0

酷我從來不知道在異常代碼中的幻數。 – 2008-09-15 00:39:51

0

如果你知道哪個塊拋出了exceptioon,你可以在catch塊中放置更多特定的處理程序來嘗試並以這種方式隔離它嗎?

你是否拋出了自己翻滾的異常?

編輯:我忘了您指出this article上的Visual C++例外,我發現是非常有用的。

羅布

6

一個真實的C++異常從微軟的運行時拋出將有0xe06d7363的SEH代碼(E0 + 'MSC')。你有其他的例外。

.NET使用代碼0xe0434f4d(E0 +'COM')生成SEH異常。

NT的狀態代碼記錄在ntstatus.h中,並且通常啓動0x80(警告)或0xC0(錯誤)。最着名的是0xC0000005,STATUS_ACCESS_VIOLATION。