Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse zu wechseln.
Der AMLI-Debugger unterstützt zwei Arten von spezialisierten Befehlen: AMLI-Debuggererweiterungen und AMLI-Debuggerbefehle.
Beim Ausführen des AML-Debuggings sollten Sie sorgfältig zwischen zwei verschiedenen Arten von Eingabeaufforderungen unterscheiden, die im Fenster "Debuggerbefehl" angezeigt werden:
Wenn die KD-Eingabeaufforderung> angezeigt wird, steuern Sie den Kernel-Debugger. Alle standardmäßigen Kerneldebuggerbefehle und Erweiterungen sind verfügbar. Darüber hinaus sind die AMLI-Debuggererweiterungen ebenfalls verfügbar. Diese Erweiterungen weisen eine Syntax des Befehls !amliauf. Die AMLI-Debuggerbefehle sind in diesem Modus nicht verfügbar.
Wenn die AMLI(? für Hilfe)-> Eingabeaufforderung angezeigt wird, steuern Sie den AMLI-Debugger. (Wenn Sie WinDbg verwenden, wird diese Eingabeaufforderung im oberen Bereich des Fensters "Debuggerbefehl" angezeigt, und im unteren Bereich wird eine Eingabeaufforderung> angezeigt.) An dieser Eingabeaufforderung können Sie einen beliebigen AMLI-Debuggerbefehl eingeben. Sie können auch jede AMLI Debugger-Erweiterung eingeben; Diese Erweiterungen sollten nicht mit dem Präfix !amli versehen werden. Die standardmäßigen Kerneldebuggingbefehle sind in diesem Modus nicht verfügbar.
Wenn überhaupt keine Eingabeaufforderung angezeigt wird, läuft der Zielcomputer.
Am Anfang jeder Debugsitzung sollten Sie die AMLI-Debuggeroptionen mit der Erweiterung "!amli set " festlegen. Auch die Optionen verboseon, traceon und errbrkon sind sehr nützlich. Sie sollten die Spewon-Option aktivieren. Details finden Sie auf der Erweiterungsreferenzseite.
Es gibt mehrere Möglichkeiten, wie der AMLI-Debugger aktiv werden kann:
Wenn ein Haltepunkt im AML-Code erreicht wird, wechselt ACPI in den AMLI-Debugger.
Wenn ein schwerwiegender Fehler oder eine Ausnahme im AML-Code (z. B. int 3) auftritt, wechselt ACPI in den AMLI-Debugger.
Wenn die Option "errbrkon" festgelegt wurde, führt jeder AML-Fehler dazu, dass ACPI in den AMLI-Debugger wechselt.
Wenn Sie absichtlich in den AMLI-Debugger umbrechen möchten, verwenden Sie die Erweiterung !amli debugger und dann den Befehl g (Go). Wenn jeder AML-Code das nächste Mal vom Dolmetscher ausgeführt wird, übernimmt der AMLI-Debugger die Übernahme.
Wenn Sie sich an der AMLI-Debuggeraufforderung befinden, können Sie q eingeben, um zum Kerneldebugger zurückzukehren, oder geben Sie g ein, um die normale Ausführung fortzusetzen.
Die folgenden Erweiterungen sind besonders nützlich für das AML-Debugging:
Die !amli-DNS-Erweiterung zeigt den ACPI-Namespace für ein bestimmtes Objekt, die Namespacestruktur, die diesem Objekt untergeordnet ist, oder sogar die gesamte Namespacestruktur an. Dieser Befehl ist besonders nützlich, um zu bestimmen, was ein bestimmtes Namespaceobjekt ist – unabhängig davon, ob es sich um eine Methode, eine Feldeinheit, ein Gerät oder einen anderen Objekttyp handelt.
Die Erweiterung "!amli find " verwendet den Namen eines beliebigen Namespaceobjekts und gibt den vollständigen Pfad zurück.
Die Erweiterung !amli u hebt den AML-Code auf.
Die !amli lc-Erweiterung zeigt kurze Informationen zu allen aktiven ACPI-Kontexten an.
Die Erweiterung !amli r zeigt detaillierte Informationen zum aktuellen Kontext des Dolmetschers an. Dies ist nützlich, wenn die AMLI-Debuggeraufforderung angezeigt wird, nachdem ein Fehler erkannt wurde.
Haltepunkte können im AML-Code festgelegt und gesteuert werden. Verwenden Sie !amli bp , um einen Haltepunkt festzulegen, !amli bc , um einen Haltepunkt zu löschen, !amli bd , um einen Haltepunkt zu deaktivieren, !amli, um einen Haltepunkt erneut zu aktivieren, und !amli bl , um alle Haltepunkte aufzulisten.
Der AMLI-Debugger kann AML-Code ausführen, schrittweise durchgehen und verfolgen. Verwenden Sie die Befehle "Ausführen", "p" und "t ", um diese Aktionen auszuführen.
Eine vollständige Liste der Erweiterungen und Befehle finden Sie unter Verwenden von AMLI-Debuggererweiterungen und Verwenden von AMLI-Debuggerbefehlen.