IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Assembleur Discussion :

Codes d'erreurs des exceptions


Sujet :

Assembleur

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 80
    Points : 69
    Points
    69
    Par défaut Codes d'erreurs des exceptions
    Salut à tous,

    j'ai un ptit souci pour la conception d'un handler d'interruption, plus précisément , pour les exceptions (ex : #0->div by0....#6 : opcode invalide....#13 : general protection faute .....etc....), je sais que certaines exceptions "déposent" sur la pile un code d'erreur, le pb c'est que je ne sais pas quelles exceptions le font ou pas ...de plus je ne connais pas le format du code d'erreur (je suppose que c'est un dword), ces infos me sont indispensables pour reinitialiser correctement la pile aprés le traitement de l'exception....

    si qq'un peut m'aider, merci d'avance ...

  2. #2
    Rédacteur
    Avatar de Neitsa
    Homme Profil pro
    Chercheur sécurité informatique
    Inscrit en
    Octobre 2003
    Messages
    1 041
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chercheur sécurité informatique

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 041
    Points : 1 956
    Points
    1 956
    Par défaut
    Bonjour,

    Lors d'une exception, le système passe au handler une structure appelée EXCEPTION_RECORD avec laquelle vous pourrez retrouver le code de l'exception (effectivement sur un DWORD), pour tous type d'exception.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    .code
     
    Handler proc C lpExcept:DWORD, lpFrame:DWORD, lpContext:DWORD, lpDispatch:DWORD
    	mov	eax, [lpExcept]
    	mov	ecx, [lpContext]
    	mov ebx, [eax] [EXCEPTION_RECORD.ExceptionCode]; exception code dans EBX
    ;reste du handler
    les codes d'erreurs sont présent dans le windows.inc (commencent par STATUS_ ).

    Pour de plus amples informations, un lien pour la gestion d'exception sous Win en Asm :

    http://www.jorgon.freeserve.co.uk/ExceptFrame.htm

    Bon courage.

    Neitsa.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2002
    Messages : 80
    Points : 69
    Points
    69
    Par défaut
    Salut et merci, mais je ne parlais absloument pas de prog windows....juste de prog assembleur "standard".....

  4. #4
    Membre à l'essai
    Inscrit en
    Avril 2004
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 29
    Points : 12
    Points
    12
    Par défaut
    Si tu cause anglé y a peut-être une réponse ici:http://www.google.fr/search?sourceid...ml%2Ftoc%2Ehtm,google peut traduire cette page...chapitre 12.3 corriger les exeptions.

Discussions similaires

  1. Réponses: 2
    Dernier message: 21/06/2007, 10h42
  2. Réponses: 2
    Dernier message: 08/01/2007, 22h18
  3. Réponses: 1
    Dernier message: 09/07/2006, 23h39
  4. Réponses: 4
    Dernier message: 05/06/2006, 11h34
  5. récupérer les erreurs php dans des exceptions
    Par jeanvincent dans le forum Langage
    Réponses: 6
    Dernier message: 14/10/2005, 16h26

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo