Partager via


Débogage AML de base

Le débogueur AMLI prend en charge deux types de commandes spécialisées : les extensions de débogueur AMLI et les commandes de débogueur AMLI.

Lorsque vous effectuez un débogage AML, vous devez soigneusement faire la distinction entre deux types d’invites différents qui apparaîtront dans la fenêtre Commande du débogueur :

  • Lorsque vous voyez l’invite kd> , vous contrôlez le débogueur de noyau. Toutes les extensions et commandes de débogueur de noyau standard sont disponibles. En outre, les extensions de débogueur AMLI sont également disponibles. Ces extensions ont une syntaxe de la commande!amli. Les commandes du débogueur AMLI ne sont pas disponibles dans ce mode.

  • Lorsque vous voyez l’invite AMLI( ? pour obtenir de l’aide),> vous contrôlez le débogueur AMLI. (Lorsque vous utilisez WinDbg, cette invite s’affiche dans le volet supérieur de la fenêtre Debugger Command et une invite d’entrée> s’affiche dans le volet inférieur.) À partir de cette invite, vous pouvez entrer n’importe quelle commande AMLI Débogueur. Vous pouvez également entrer n’importe quelle extension de débogueur AMLI ; ces extensions ne doivent pas être précédées de !amli. Les commandes de débogage standard du noyau ne sont pas disponibles dans ce mode.

  • Lorsque vous ne voyez aucune invite, l’ordinateur cible est en cours d’exécution.

Au début de toute session de débogage, vous devez définir les options de votre débogueur AMLI avec l’extension !amli set . Les options verboseon, traceon et errbrkon sont également très utiles. Vous devez envisager d’activer l’option spewon . Pour plus d’informations, consultez la page de référence de l’extension.

Il existe plusieurs façons pour le débogueur AMLI de devenir actif :

  • Si un point d’arrêt dans le code AML est rencontré, ACPI s’insère dans le débogueur AMLI.

  • Si une erreur ou une exception grave se produit dans le code AML (par exemple , un int 3), ACPI s’insère dans le débogueur AMLI.

  • Si l’option errbrkon a été définie, toute erreur AML entraîne l’intrusion d’ACPI dans le débogueur AMLI.

  • Si vous souhaitez entrer délibérément dans le débogueur AMLI, utilisez l’extension !amli débogueur, puis la commande g (Go). La prochaine fois qu’un code AML est exécuté par l’interpréteur, le débogueur AMLI prend le relais.

Lorsque vous êtes à l’invite du débogueur AMLI, vous pouvez taper q pour revenir au débogueur du noyau, ou tapez g pour reprendre l’exécution normale.

Les extensions suivantes sont particulièrement utiles pour le débogage AML :

  • L’extension dns !amli affiche l’espace de noms ACPI pour un objet particulier, l’arborescence d’espaces de noms subordonnée à cet objet, ou même l’arborescence d’espaces de noms entière. Cette commande est particulièrement utile pour déterminer ce qu’est un objet d’espace de noms particulier : s’il s’agit d’une méthode, d’une unité de champ, d’un appareil ou d’un autre type d’objet.

  • L’extension !amli find prend le nom de n’importe quel objet d’espace de noms et retourne son chemin complet.

  • L’extension !amli u désassemble le code AML.

  • L’extension !amli lc affiche de brèves informations sur tous les contextes ACPI actifs.

  • L’extension !amli r affiche des informations détaillées sur le contexte actuel de l’interpréteur. Cela est utile lorsque l’invite de débogueur AMLI s’affiche après la détection d’une erreur.

  • Les points d’arrêt peuvent être définis et contrôlés dans le code AML. Utilisez !amli bp pour définir un point d’arrêt, !amli bc pour effacer un point d’arrêt, !amli bd pour désactiver un point d’arrêt, !amli pour réactiver un point d’arrêt et !amli bl pour répertorier tous les points d’arrêt.

  • Le débogueur AMLI est en mesure d’exécuter, d’étape et de suivre via du code AML. Utilisez les commandes run, p et t pour effectuer ces actions.

Pour obtenir la liste complète des extensions et des commandes, consultez Utilisation des extensions de débogueur AMLI et Utilisation des commandes du débogueur AMLI.

Voir aussi

Débogueur AMLI