Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Polecenia debugera mogą dostarczać dane wyjściowe w postaci zwykłego tekstu lub w rozszerzonym formacie korzystającym z języka DML (Debugger Markup Language). Dane wyjściowe rozszerzone za pomocą języka DML zawierają linki, które można kliknąć, aby wykonać powiązane polecenia.
DML jest dostępny w systemie Windows 10 lub nowszym.
Polecenia obsługujące DML
Następujące polecenia umożliwiają generowanie danych wyjściowych DML:
Polecenie lmD jest przykładem polecenia, które może dostarczać dane wyjściowe DML. Polecenie lmD wyświetla listę załadowanych modułów. Jak pokazano na poniższej ilustracji, każda nazwa modułu to link, który można kliknąć, aby uzyskać bardziej szczegółowe informacje o module.
Na poniższej ilustracji przedstawiono wynik kliknięcia linku usbuhci . Dane wyjściowe zawierają dodatkowe linki, które umożliwiają zapoznanie się z dodatkowymi szczegółami modułu usbuhci.
Włączanie i wyłączanie języka DML
Polecenie .prefer_dml włącza lub wyłącza funkcję DML. Po włączeniu języka DML (.prefer_dml 1) polecenia, które mogą generować dane wyjściowe DML, domyślnie generują dane wyjściowe DML.
Ulepszenia konsoli
Wszystkie debugery systemu Windows mają teraz obszary wyjściowe poleceń, które obsługują analizowanie DML. W windbg okno polecenia obsługuje wszystkie zachowania DML i będzie wyświetlać kolory, style czcionek i linki. Debugery konsoli, ntsd, cdb i kd, obsługują tylko atrybuty kolorów DML i tylko w przypadku uruchamiania w prawdziwej konsoli z włączonym trybem kolorów. Debuggery z przekierowanym wejściem/wyjściem, ntsd –d lub sesje remote.exe nie będą wyświetlać żadnych kolorów.
Tryb kolorów debugera konsoli
Debugery konsoli, ntsd, cdb i kd mają teraz możliwość wyświetlania kolorowych danych wyjściowych podczas uruchamiania w prawdziwej konsoli. Nie jest to ustawienie domyślne. Wymaga jawnego włączenia trybu kolorów za pośrednictwem tools.ini. Nowy znacznik col_mode <true|false> w tools.ini kontroluje ustawienia trybu kolorów. Aby uzyskać więcej informacji na temat pracy z plikiem tools.ini, zobacz Konfigurowanie tools.ini
Po włączeniu trybu kolorów debuger może wygenerować kolorowe dane wyjściowe. Domyślnie większość kolorów nie jest ustawiona, a zamiast tego jest domyślnie ustawiona na bieżące kolory konsoli.
Okno przeglądarki poleceń Windbg
W systemie Windows 10 lub nowszym Windbg okno przeglądarki poleceń analizuje i wyświetla język DML. Wszystkie tagi, takie jak <link>, <exec> i modyfikacje wyglądu, są w pełni obsługiwane.
Aby uruchomić sesję przeglądarki poleceń przy użyciu menu w usłudze WinDbg, wybierz pozycję Widok, Przeglądarka poleceń. W oknie poleceń polecenie .browse otworzy nowe okno przeglądarki poleceń i wykona podane polecenie. Aby uzyskać więcej informacji, zobacz Korzystanie z okna przeglądarki poleceń w WinDbg (wersja klasyczna). Nowe okno przeglądarki poleceń można również otworzyć za pomocą Ctrl+N.
Okno przeglądarki poleceń celowo naśladuje zachowanie przeglądarki internetowej z historią listy rozwijanej i poprzednimi/następnymi przyciskami. Lista rozwijana historii wyświetla tylko ostatnie dwadzieścia poleceń, ale pełna historia jest zachowywana, więc wracając do wcześniejszych poleceń, można spowodować, że lista rozwijana wyświetli starszą historię.
Możesz mieć dowolną liczbę okien poleceń otwartych jednocześnie. Okna poleceń utrzymują się w obszarach roboczych, ale zapisują tylko bieżące polecenie; historia nie jest przechowywana.
Menu Widok WinDbg ma opcję Ustaw uruchamianie przeglądarki , która umożliwia użytkownikowi ustawienie preferowanego polecenia dla nowych okien przeglądarki, na przykład .dml_start. Polecenie to jest zapamiętywane w przestrzeniach roboczych.
Okno podokno Niedawne polecenia jest dostępne w menu Widok, aby przechowywać interesujące polecenia. Wybranie ostatniego polecenia spowoduje otwarcie nowej przeglądarki z podanym poleceniem. Istnieje element menu w menu kontekstowym okna przeglądarki, który dodaje bieżące polecenie okna do listy ostatnich poleceń. Lista ostatnich poleceń jest utrwalana w obszarach roboczych.
Okno przeglądarki poleceń wykonuje polecenie synchronicznie i tak nie wyświetla danych wyjściowych do momentu ukończenia polecenia. Długotrwałe polecenia nie będą nic wyświetlać, dopóki się nie zakończą.
Linki mają menu kontekstowe podobne do tego, które pojawia się po kliknięciu prawym przyciskiem myszy w przeglądarce internetowej. Linki można otwierać w nowym oknie przeglądarki. Polecenie linku można skopiować do schowka do wykorzystania.
Kliknięcie ikony w prawym górnym rogu paska tytułu w celu ustawienia okna przeglądarki poleceń na automatyczne odświeżanie lub odświeżanie ręczne. Przeglądarki automatycznego odświeżania będą automatycznie uruchamiać ponownie polecenie w przypadku zmian stanu debugera. Spowoduje to zachowanie danych wyjściowych na żywo, ale kosztem wykonania polecenia przy każdej zmianie. Automatyczne odświeżanie jest domyślnie włączone. Jeśli przeglądarka nie musi być aktywna, można użyć menu kontekstowego okna, aby wyłączyć automatyczne odświeżanie.
Ponieważ polecenia są wykonywane przez aparat, a nie przez interfejs użytkownika, polecenia specyficzne dla interfejsu użytkownika, takie jak .cls (Clear Screen), zwróci błąd składni w przypadku użycia w oknach przeglądarki poleceń. Oznacza to również, że gdy interfejs użytkownika jest klientem zdalnym, polecenie zostanie wykonane przez serwer, a nie przez klienta, a dane wyjściowe polecenia pokażą stan serwera.
Okna przeglądarki poleceń mogą uruchamiać dowolne polecenie debugera, nie musi być poleceniem tworzącym kod DML. Możesz korzystać z okien przeglądarki, aby mieć aktywny dowolny zestaw poleceń.
Dostosowywanie kodu DML
DML definiuje mały zestaw tagów, które można uwzględnić w danych wyjściowych polecenia. Przykładem jest tag linku<>. Możesz eksperymentować z tagiem linku <> (i innymi tagami DML), używając poleceń .dml_start i .browse. Polecenie .browse .dml_startfilepath wykonuje polecenia przechowywane w pliku DML. Dane wyjściowe są wyświetlane w oknie Przeglądarka poleceń zamiast zwykłego okna polecenia.
Załóżmy, że plik c:\DmlExperiment.txt zawiera następujące wiersze.
My DML Experiment
<link cmd="lmD musb*">List modules that begin with usb.</link>
Poniższe polecenie wyświetla tekst i link w oknie Przeglądarka poleceń.
.browse .dml_start c:\Dml_Experiment.txt
Jeśli klikniesz odnośnik Lista modułów rozpoczynających się od usb, zobaczysz dane wyjściowe podobne do poniższej ilustracji.
Aby zapoznać się z dokładnym omówieniem dostosowywania DML i pełną listą tagów DML, zobacz Dostosowywanie danych wyjściowych debugera przy użyciu języka DML.