Domanda

Conoscendo un codice di eccezione, esiste un modo per saperne di più sul significato dell'eccezione effettiva generata?

La mia eccezione in questione:0x64487347

Indirizzo eccezione:0x1

Lo stack di chiamate non mostra informazioni.

Sto esaminando un file .dmp di un arresto anomalo e non eseguo effettivamente il debug in Visual Studio.

È stato utile?

Soluzione

Poiché stai esaminando un crash dump, presumo che provenga da un cliente e che non sia possibile riprodurre facilmente l'errore con più strumenti.

Non ho molto aiuto da offrire, salva per notare che il codice di eccezione 0x64487347 è ASCII "dShG" e gli sviluppatori spesso usano le iniziali della routine o della condizione di errore quando creano numeri magici come questo.

Una piccola ricerca su Google ha trovato un risultato per dHsg nel contesto corretto, il nome di una funzione in una ricerca su Google Libri per "Utilizzo di Visual C++ 6" di Kate Gregory.Sfortunatamente questo da solo non è stato utile.

Altri suggerimenti

Una vera eccezione C++ generata dal runtime di Microsoft avrà un codice SEH pari a 0xe06d7363 (E0 + 'msc').Hai qualche altra eccezione.

.NET genera eccezioni SEH con il codice 0xe0434f4d (E0 + 'COM').

I codici di stato di NT sono documentati in ntstatus.h e generalmente iniziano con 0x80 (avvisi) o 0xC0 (errori).Il più famoso è 0xC0000005, STATUS_ACCESS_VIOLATION.

Se sai quale blocco ha generato l'eccezione, puoi inserire gestori più specifici nel blocco catch per provare a isolarlo in questo modo?

Stai lanciando un'eccezione che hai lanciato tu stesso?

Modificare:Ho dimenticato di indicarti Questo articolo sulle eccezioni di Visual C++ che ho trovato molto utile.

rapinare

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top