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 du débogueur AMLI.

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

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

  • Lorsque vous voyez l’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 Commande du débogueur et un L’invite d’entrée> s’affiche dans le volet inférieur.) À partir de cette invite, vous pouvez entrer n’importe quelle commande de débogueur AMLI. 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 du noyau standard ne sont pas disponibles dans ce mode.

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

Au début de toute session de débogage, vous devez définir vos options de 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 que le débogueur AMLI devienne 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 se décompose en débogueur AMLI.

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

  • Si vous souhaitez diviser délibérément le débogueur AMLI, utilisez l’extension du débogueur !amli, puis la commande g (Go). La prochaine fois que tout code AML est exécuté par l’interpréteur, le débogueur AMLI reprendra.

Lorsque vous êtes à l’invite du débogueur AMLI, vous pouvez taper q pour revenir au débogueur du noyau ou taper 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é à 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 , qu’il s’agisse d’une méthode, d’une unité de champ, d’un appareil ou d’un autre type d’objet.

  • L’extension de recherche !amli prend le nom d’un objet d’espace de noms et retourne son chemin d’accès 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 du 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 être 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 le 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