J'essayais d'écrire un code pour gérer les exceptions, mais en remplaçant un autre gestionnaire d'exceptions, est-ce possible?Gestion des exceptions
je développais un .exe
dans asm
pour déboguer un .dll
, et détecter quelques exceptions qui sont soulevées (violation d'accès), mais le .dll
a sa propre gestion des exceptions, donc une SEH normale ne devrait pas fonctionner.
Je voudrais savoir s'il existe un type de gestionnaire d'exception global qui pourrait remplacer ceux qui existent déjà?
Oh, Merci, ça a l'air de bien fonctionner pour moi, mais je voulais aussi demander, pouvez-vous me donner quelques informations supplémentaires sur cette manipulation? Je veux dire, je voulais des infos comme l'adresse où le problème est arrivé, quelle exception, et si c'était une violation d'accès, où il a essayé d'écrire/lire – user506998
Les informations sur l'exception sont transmises à votre fonction de gestionnaire d'exceptions. http://msdn.microsoft.com/en-us/library/ms681419.aspx explique le gestionnaire d'exception et son argument. Sur http://msdn.microsoft.com/en-us/library/aa363082.aspx vous trouvez une description de l'enregistrement d'exception qui fait partie de l'argument pointers d'exception de votre gestionnaire d'exceptions. Il inclut le code d'exception et l'adresse où l'exception s'est produite. http://msdn.microsoft.com/en-us/library/cc301714.aspx donne quelques explications sous le capot. – Patrick
Vous pouvez utiliser l'API SetUnhandledExceptionFilter(), mais votre gestionnaire sera appelé après tous les autres gestionnaires. – ruslik