sx, sxd, sxe, sxi, sxn, sxr, sx- (Définir des exceptions)

Les commandes sx contrôlent l’action que le débogueur effectue lorsqu’une exception se produit dans l’application en cours de débogage ou lorsque certains événements se produisent.

sx

sx{e|d|i|n} [-c "Cmd1"] [-c2 "Cmd2"] [-h] {Exception|Event|*}

sx- [-c "Cmd1"] [-c2 "Cmd2"] {Exception|Event|*}

sxr

Paramètres

-c « Cmd1 »
Spécifie une commande exécutée si l’exception ou l’événement se produit. Cette commande est exécutée lorsque la première chance de gérer cette exception se produit, que cette exception s’interrompe ou non dans le débogueur. Vous devez placer la chaîne Cmd1 entre guillemets. Cette chaîne peut inclure plusieurs commandes si vous les séparez par des points-virgules. L’espace entre -c et la chaîne de commande entre guillemets est facultatif.

-c2"Cmd2 »
Spécifie une commande exécutée si l’exception ou l’événement se produit et n’est pas géré à la première occasion. Cette commande est exécutée lorsque la deuxième chance de gérer cette exception se produit, que cette exception s’interrompe ou non dans le débogueur. Vous devez placer la chaîne Cmd2 entre guillemets. Cette chaîne peut inclure plusieurs commandes si vous les séparez par des points-virgules. L’espace entre -c2 et la chaîne de commande entre guillemets est facultatif.

-h
Modifie le status de gestion de l’événement spécifié au lieu de son status d’arrêt. Si Event est cc, hc, bpec ou ssec, vous n’avez pas besoin d’utiliser l’option -h .

Exception
Spécifie le numéro d’exception sur lequel la commande agit dans le radix actuel.

Event
Spécifie l’événement sur lequel la commande agit. Ces événements sont identifiés par de courtes abréviations. Pour obtenir la liste des événements, consultez Contrôle des exceptions et des événements.

*
Affecte toutes les exceptions qui ne sont pas nommées explicitement pour sx. Pour obtenir la liste des exceptions nommées explicitement, consultez Contrôle des exceptions et des événements.

Environnement

   
Modes Mode utilisateur, mode noyau
Cibles Débogage en direct uniquement
Plateformes Tous

Informations supplémentaires

Pour plus d’informations sur les status d’arrêt et la gestion des status, des descriptions de tous les codes d’événement, une liste des status par défaut pour tous les événements et d’autres méthodes de contrôle de ce status, consultez Contrôle des exceptions et des événements.

Remarques

La commande sx affiche la liste des exceptions pour le processus actuel et la liste de tous les événements autres qu’une exception, et affiche le comportement par défaut du débogueur pour chaque exception et événement.

Les commandes sxe, sxd, sxn et sxi contrôlent les paramètres du débogueur pour chaque exception et événement.

La commande sxr réinitialise tous les états de filtre d’exception et d’événement aux paramètres par défaut. Par exemple, les commandes sont effacées et s’arrêtent, et les options continuer sont réinitialisées à leurs paramètres par défaut.

La commande sx- ne modifie pas le status de gestion ou la status d’arrêt de l’exception ou de l’événement spécifié. Cette commande peut être utilisée si vous souhaitez modifier la commande de première chance ou la commande de deuxième chance associée à un événement spécifique, mais que vous ne souhaitez pas modifier quoi que ce soit d’autre.

Si vous incluez l’option -h (ou si les événements cc, hc, bpec ou ssec sont spécifiés), les commandes sxe, sxd, sxn et sxi contrôlent la gestion status de l’exception ou de l’événement. Dans tous les autres cas, ces commandes contrôlent l’arrêt status de l’exception ou de l’événement.

Lorsque vous définissez le status d’arrêt, ces commandes ont les effets suivants :

Commande Nom de l’état Description
Sxe Pause
(Activé)
Lorsque cette exception se produit, la cible s’interrompt immédiatement dans le débogueur avant que d’autres gestionnaires d’erreurs ne soient activés. Ce type de gestion est appelé gestion de première chance .
sxd Deuxième cas de chance
(Désactivé)
Le débogueur ne s’arrête pas pour une exception de première chance de ce type (bien qu’un message s’affiche). Si d’autres gestionnaires d’erreurs ne résolvent pas cette exception, l’exécution s’arrête et la cible s’arrête dans le débogueur. Ce type de gestion est appelé gestion de la deuxième chance .
sxn Sortie
(Notifier)
Lorsque cette exception se produit, l’application cible ne s’interrompt pas du tout dans le débogueur. Toutefois, un message s’affiche pour avertir l’utilisateur de cette exception.
Sxi Ignorer Lorsque cette exception se produit, l’application cible ne s’interrompt pas du tout dans le débogueur et aucun message ne s’affiche.

Lorsque vous définissez le status de gestion, ces commandes ont les effets suivants :

Commande Nom de l’état Description
Sxe Traitées L’événement est considéré comme géré lorsque l’exécution reprend.
sxd,sxn,sxi Non géré L’événement est considéré comme non géré lorsque l’exécution reprend.

Vous pouvez utiliser l’option -h avec des exceptions, et non des événements. Utilisez cette option avec ch, bpe ou sse pour définir les status de gestion pour hc, bpec ou ssec, respectivement. Si vous utilisez l’option -h avec un autre événement, elle n’a aucun effet.

Utilisez les options -c ou -c2 avec hc, bpec ou ssec pour associer les commandes spécifiées à ch, bpe ou sse, respectivement.

Dans l’exemple suivant, la commande sxe est utilisée pour définir le status d’arrêt des événements de violation d’accès pour qu’il s’arrête à la première chance, et pour définir la commande de première chance qui sera exécutée à ce stade sur r eax. Ensuite, la commande sx- est utilisée pour modifier la commande de première chance en r ebx, sans modifier la gestion status. Enfin, une partie de la sortie sx est affichée, indiquant les paramètres actuels pour les événements de violation d’accès :

0:000> sxe -c "r eax" av

0:000> sx- -c "r ebx" av

0:000> sx
 av - Access violation - break - not handled
       Command: "r ebx"
  . . .  

Voir aussi