Przeczytaj w języku angielskim

Udostępnij za pośrednictwem


LiveKd v5.63

Mark Russinovich i Ken Johnson

Opublikowano: 28 kwietnia 2020 r.

PobierzPobierz plik LiveKd (700 KB)

Wprowadzenie

LiveKD, narzędzie, które napisałem dla cd zawarte w Inside Windows 2000, 3rd Edition, jest teraz bezpłatnie dostępne. Narzędzie LiveKD umożliwia uruchamianie debugerów jądra Kd i Windbg firmy Microsoft, które są częścią pakietu Debugowanie dla systemu Windows lokalnie w systemie na żywo. Wykonaj wszystkie polecenia debugera, które działają na plikach zrzutu awaryjnego, aby przyjrzeć się głęboko wewnątrz systemu. Zapoznaj się z dokumentacją narzędzi debugowania dla systemu Windows i naszą książką, aby uzyskać informacje na temat sposobu eksplorowania systemu za pomocą debugerów jądra.

Chociaż najnowsze wersje windbg i Kd mają podobną funkcję w systemach Windows Vista i Server 2008, LiveKD zapewnia więcej funkcji, takich jak wyświetlanie stosów wątków za pomocą polecenia !thread, niż windbg i własne narzędzie debugowania jądra na żywo Kd.

Instalacja

Najpierw pobierz i zainstaluj pakiet debugowania dla systemu Windows z witryny internetowej firmy Microsoft:

https://msdn.microsoft.com/library/windows/hardware/ff551063(v=vs.85).aspx

Jeśli zainstalujesz narzędzia w domyślnym katalogu \Program Files\Microsoft\Debug Tools for Windows, możesz uruchomić plik LiveKD z dowolnego katalogu. W przeciwnym razie należy skopiować plik LiveKD do katalogu, w którym są zainstalowane narzędzia.

Jeśli nie zainstalowano symboli dla systemu, na którym działasz LiveKD, liveKD zapyta, czy system ma automatycznie skonfigurować do korzystania z serwera symboli firmy Microsoft (zobacz dokumentację Narzędzia debugowania dla systemu Windows, aby uzyskać informacje na temat plików symboli i serwera symboli firmy Microsoft).

UWAGA: Debuger firmy Microsoft skarży się, że nie może odnaleźć symboli dla LIVEKDD.SYS. Jest to oczekiwane, ponieważ nie udostępniam symboli dla LIVEKDD.SYS i nie wpływa na zachowanie debugera.

Korzystanie z usługi LiveKd

zwyczaj:

liveKd [[-w]|[ -k <debuger>]|[ -o nazwa_pliku]] [-vsym] [-m[flagi] [[-mp procesu]|[ pid]]][opcje debugera]
liveKd [[-w]|[ -k <debuger>]|[ -o nazwa_pliku]] -ml [opcje debugera]
liveKd [[-w]|[ -k <debuger>]|[ -o nazwa_pliku]] [[-hl]|[ -hv <nazwa> maszyny wirtualnej [[-p]|[ -hvd]]]] [opcje debugera]

Parametr Opis
-Hv Określa nazwę lub identyfikator GUID maszyny wirtualnej funkcji Hyper-V do debugowania.
-hvd Zawiera strony funkcji hypervisor (tylko system Windows 8.1 lub nowszy).
-hvl Wyświetla nazwy i identyfikatory GUID uruchomionych maszyn wirtualnych funkcji Hyper-V.
-k  Określa pełną ścieżkę i nazwę pliku obrazu debugera do wykonania
-m  Tworzy zrzut dublowania, który jest spójnym widokiem pamięci jądra.
Dostępna będzie tylko pamięć w trybie jądra, a ta opcja może wymagać znacznej ilości dostępnej pamięci fizycznej.  Maska flag określająca, które regiony do uwzględnienia mogą być opcjonalne (pobrane z poniższej tabeli, domyślne 0x18F8):
0001 — proces prywatny, 0002 — zamapowany plik,
0004 — sekcja udostępniona, 0008 — strony tabeli stron,
0010 — stronicowana pula, 0020 — pula niestronicowana,
0040 — systemowe elementy PTE, 0080 — strony sesji,
0100 — pliki metadanych, 0200 — strony użytkowników AWE,
0400 — strony sterowników, 0800 — stosy jądra,
1000 — Metadane systemu WS, 2000 — duże strony
Wartość domyślna przechwytuje większość zawartości pamięci jądra i jest zalecana.
Ta opcja może być używana z opcją -o w celu szybszego zapisywania spójnych zrzutów.
Zrzuty dublowania wymagają systemu Windows Vista lub Windows Server 2008 lub nowszego.
Sysinternals RamMap zawiera graficzne podsumowanie dystrybucji dostępnych regionów pamięci, które można wybrać do włączenia.
-Ml  Generowanie zrzutu na żywo przy użyciu natywnej obsługi (tylko system Windows 8.1 lub nowszy).
-Mp  Określa pojedynczy proces, którego zawartość pamięci w trybie użytkownika powinna być uwzględniona w zrzutie dublowania. Obowiązują tylko z opcją -m.
-o Zapisuje memory.dmp na dysku zamiast uruchamiania debugera.
-p Wstrzymuje docelową maszynę wirtualną funkcji Hyper-V, gdy funkcja LiveKd jest aktywna (zalecane do użycia z -o). Określa nazwę lub identyfikator GUID maszyny wirtualnej funkcji Hyper-V do debugowania.
-hvl Wyświetla nazwy i identyfikatory GUID uruchomionych maszyn wirtualnych funkcji Hyper-V.
-vsym Wyświetla pełne informacje o debugowaniu operacji ładowania symboli.
-w  Działa windbg zamiast kd

Wszystkie inne opcje są przekazywane do debugera.

Uwaga: użyj Ctrl-Break, aby zakończyć działanie i ponownie uruchomić debuger, jeśli zawiesza się.

Domyślnie funkcja LiveKd uruchamia kd.exe.

PobierzPobierz plik LiveKd (700 KB)

Działa w:

  • Klient: Windows Vista i nowsze.
  • Serwer: Windows Server 2008 i nowsze.