Question

Connaissant un code d'exception, existe-t-il un moyen d'en savoir plus sur ce que signifie l'exception réellement lancée?

Mon exception en question: 0x64487347

Adresse d'exception: 0x1

La pile d'appels ne contient aucune information.

Je suis en train de passer en revue le format .dmp d'un incident et non du débogage dans Visual Studio.

Était-ce utile?

La solution

Parce que vous examinez un vidage sur incident, je suppose que cela provient d'un client et vous ne pouvez pas facilement reproduire le problème avec davantage d'instruments.

Je n'ai pas beaucoup d'aide à proposer à save pour noter que le code d'exception 0x64487347 est ASCII "dShG", et les développeurs utilisent souvent les initiales de la routine ou la condition d'erreur lors de la création de nombres magiques comme celui-ci.

Un peu de Google a trouvé un hit pour dHsg dans le contexte approprié, le nom d'une fonction dans une recherche Google Book pour "Utilisation de Visual C ++ 6". Par Kate Gregory. Malheureusement, cela n’a pas été utile.

Autres conseils

Une véritable exception C ++ générée à partir du runtime de Microsoft aura un code SEH de 0xe06d7363 (E0 + 'msc'). Vous avez une autre exception.

.NET génère des exceptions SEH avec le code 0xe0434f4d (E0 + 'COM').

Les codes de statut de NT sont documentés dans ntstatus.h et démarrent généralement 0x80 (avertissements) ou 0xC0 (erreurs). Le plus connu est 0xC0000005, STATUS_ACCESS_VIOLATION.

Si vous savez quel bloc a lancé l'exceptioon, pouvez-vous mettre des gestionnaires plus spécifiques dans le bloc catch pour essayer de l'isoler de cette façon?

Lancez-vous une exception que vous avez fait vous-même?

Modifier: j’ai oublié de vous indiquer ceci article sur les exceptions Visual C ++ que j’ai trouvées très utiles.

Rob

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top