Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Debuger AMLI obsługuje dwa typy wyspecjalizowanych poleceń: rozszerzenia debugera AMLI i polecenia debugera AMLI.
Podczas debugowania AML należy dokładnie rozróżnić dwa różne rodzaje monitów, które będą wyświetlane w oknie Polecenia debugera:
Po wyświetleniu monitu kd> kontrolujesz debuger jądra. Dostępne są wszystkie standardowe polecenia debugera jądra i rozszerzenia. Ponadto dostępne są również rozszerzenia debugera AMLI. Te rozszerzenia mają składnię !amlipolecenie. Polecenia debugera AMLI nie są dostępne w tym trybie.
Po ujrzeniu monitu AMLI(? w celu uzyskania pomocy)-> kontrolujesz debuger AMLI. (W przypadku używania programu WinDbg, ten znak zachęty pojawi się w górnym panelu okna Polecenia debugera, a w dolnym panelu pojawi się znak Wejściowy>). Z tego poziomu można wprowadzić dowolne polecenie debugera AMLI. Możesz również wprowadzić dowolne rozszerzenie debugera AMLI; te rozszerzenia nie powinny być poprzedzone prefiksem !amli. Standardowe polecenia debugowania jądra nie są dostępne w tym trybie.
Gdy w ogóle nie zostanie wyświetlony żaden monit, komputer docelowy jest uruchomiony.
Na początku każdej sesji debugowania należy ustawić opcje debugera AMLI z rozszerzeniem !amli set . Opcje verboseon, traceon i errbrkon są również bardzo przydatne. Należy rozważyć aktywowanie opcji spewon . Aby uzyskać szczegółowe informacje, zobacz stronę referencyjną rozszerzenia.
Istnieje kilka sposobów, aby debuger AMLI stał się aktywny:
Jeśli napotkano punkt przerwania w kodzie AML, interfejs ACPI uruchomi się w debuggerze AMLI.
Jeśli w kodzie AML wystąpi poważny błąd lub wyjątek (np. int 3), ACPI przełączy się do debugera AMLI.
Jeśli opcja errbrkon została ustawiona, każdy błąd AML spowoduje włamanie do debugera AMLI.
Jeśli chcesz celowo włamać się do debugera AMLI, użyj rozszerzenia debugera !amli, a następnie polecenia g (Go). Następnym razem, gdy dowolny kod AML zostanie wykonany przez interpreter, debuger AMLI przejmie kontrolę.
Po wyświetleniu monitu debugera AMLI możesz wpisać q , aby powrócić do debugera jądra, lub wpisać g , aby wznowić normalne wykonywanie.
Następujące rozszerzenia są szczególnie przydatne do debugowania AML:
Rozszerzenie !amli dns wyświetla przestrzeń nazw ACPI dla określonego obiektu, drzewo przestrzeni nazw podrzędne względem tego obiektu, a nawet całe drzewo przestrzeni nazw. To polecenie jest szczególnie przydatne podczas określania, jaki jest konkretny obiekt przestrzeni nazw — niezależnie od tego, czy jest to metoda, fieldunit, urządzenie, czy inny typ obiektu.
Rozszerzenie !amli find przyjmuje nazwę dowolnego obiektu przestrzeni nazw i zwraca pełną ścieżkę.
Rozszerzenie !amli u deasembluje kod AML.
Rozszerzenie !amli lc wyświetla krótkie informacje o wszystkich aktywnych kontekstach ACPI.
Rozszerzenie !amli r wyświetla szczegółowe informacje o bieżącym kontekście interpretera. Jest to przydatne, gdy zostanie wyświetlony monit debugera AMLI po wykryciu błędu.
Punkty przerwania można ustawiać i kontrolować w kodzie AML. Użyj !amli bp , aby ustawić punkt przerwania, !amli bc , aby wyczyścić punkt przerwania, !amli bd wyłączyć punkt przerwania, !amli być ponownie włączyć punkt przerwania, i !amli bl , aby wyświetlić listę wszystkich punktów przerwania.
Debuger AMLI umożliwia uruchamianie, przechodzenie krokowe i śledzenie kodu AML. Użyj poleceń run, p i t , aby wykonać te akcje.
Aby uzyskać pełną listę rozszerzeń i poleceń, zobacz Korzystanie z rozszerzeń debugera AMLI i Korzystanie z poleceń debugera AMLI.
Zobacz też
Debugger AMLI