Przejdź do głównej zawartości
Pomoc techniczna
Zaloguj się przy użyciu konta Microsoft
Zaloguj się lub utwórz konto.
Witaj,
Wybierz inne konto.
Masz wiele kont
Wybierz konto, za pomocą którego chcesz się zalogować.

Pomocy technicznej dla systemu Windows Vista Service Pack 1 (SP1) kończy się w dniu 12 lipca 2011. Aby w dalszym ciągu otrzymywać aktualizacje zabezpieczeń dla systemu Windows, upewnij się, że korzystasz z systemu Windows Vista z dodatkiem Service Pack 2 (SP2). Więcej informacji można znaleźć w tej strony sieci web firmy Microsoft: Obsługa kończące się w niektórych wersjach systemu Windows.

Podsumowanie

Symbole debugowania systemu Windows musi zostać zweryfikowana po uruchomieniu debugera jądra (I386kd.exe | WinDbg.exe). debuger może załadować i przedstawia monit, ale jeśli symbole są niepoprawne, przyszłych poleceń debugowania nie odwołuj się do właściwych funkcji i zmiennych, które prowadzi do wyników sporadyczne. Poniżej wymieniono kilka czerwony flagi i kilka metod kontroli ważności symbole.

Więcej informacji

Tym artykule zakłada się, że debuger jądra jest uruchomiony i został załadowany plik Memory.dmp lub jest połączony z komputerem zdalnym. Polecenia przedstawione nie są w pełni udokumentowane i są pokazywane tylko fragmenty danych wyjściowych.

Spis treści artykułu

  • Trwa ładowanie debugera jądra

  • Sprawdzanie czasu tworzenia z! drivers

  • Aby sprawdzić czas utworzenia za pomocą Link.exe

  • Funkcja unassembling

  • Service Pack symboli

Trwa ładowanie debugera jądra

Zwykły ładunek debugera jądra wyświetlana jest jedna z następujących wskazówek:

Kd > jednoprocesorowym 0: kd > systemie wieloprocesorowymWiersz poniżej wskazuje, że plik symbol dla pliku Ntoskrnl.exe jest niepoprawna. Sprawdź, aby upewnić się, że odpowiednie jednoprocesorowy lub wieloprocesorowy jądra i HAL są kopiowane do drzewa symbol. Przykład:Symbol search path is: C:\symbolskd: crash dump initialized [c:\dump\memory.dmp]could not determine the current processor, using zeroKernel Version 1057 Free loaded @ 0x80100000Bugcheck 0000001e : c0000005 80151d5b 00000000 00000001*** Contents Deleted ***16kd> Kiedy debuger jądra ładuje plik Memory.dmp, wersja jądra, a także liczba procesorów jest wyświetlany w pierwszych kilka wierszy. Upewnij się, czy liczba procesorów odpowiada odpowiednich jądra i zasobów HAL. Informacje o sterowniku symbol jest wyświetlany jako albo symbole są załadowane lub odroczone. Załaduj przykładowe:Symbol search path is: C:\symbolskd: crash dump initialized [c:\dump\memory.dmp]Kernel Version 1057 Free loaded @ 0x80100000Bugcheck 0000001e : c0000005 80151d5b 00000000 00000001re-loading all kernel symbolsKD: unloading symbols for "ntoskrnl.exe"KD: deferring symbol load for "ntoskrnl.exe" at 80100000KD: Loaded (2248) fpo entries for image (ntoskrnl.exe)KD: "ntoskrnl.exe" loaded 4074 symbols (80100000-801bbb80)KD: loaded symbols for "ntoskrnl.exe"KD: deferring symbol load for "atapi.sys" at fc810000KD: deferring symbol load for "diskdump.sys" at fc800000KD: deferring symbol load for "hal.dll" at 80400000KD: deferring symbol load for "atapi.sys" at 80010000KD: deferring symbol load for "SCSIPORT.SYS" at 80013000KD: deferring symbol load for "Atdisk.sys" at 80001000KD: deferring symbol load for "Scsidisk.sys" at 8001b000KD: deferring symbol load for "Fastfat.sys" at 80372000Unable to read image header for Floppy.SYS at fc820000 - status c0000001*** Contents Deleted ***KD: deferring symbol load for "srv.sys" at fc9e0000KD: deferring symbol load for "ntdll.dll" at 77f80000finished re-loading all kernel symbolsNT!_PspUnhandledExceptionInSystemThread+0x18:80131ff8 b801000000 mov eax,0x1kd> Należy zauważyć, że debuger jądra była "Nie można odczytać nagłówka obrazu dla Floppy.sys o fc820000 - c0000001 stanu". Ten komunikat jest normalna, ponieważ nagłówek konkretnego sterownika nie jest aktualnie w pamięci.

Sprawdzanie czasu tworzenia z! drivers

Użyj ! drivers polecenie, aby wyświetlić listę sterowników obecnie załadowanych do pamięci. Upewnij się, Uwaga dat i godzin sterowników i czy można go załadować. (Rozmiar kodu i rozmiar danych kolumny w poniższym przykładzie są usuwane w celu dopasowania do szerokości tego artykułu).kd> !driversBase Code Size Data Size Driver Name Creation Time80100000 Ntoskrnl.exe Fri May 26 18:18:36 199580400000 Hal.dll Thu May 11 13:54:18 199580010000 Atapi.sys Tue May 23 21:01:41 199580013000 Scsiport.sys Fri May 05 23:11:06 199580001000 Atdisk.sys Fri May 05 23:10:40 19958001b000 Scsidisk.sys Fri May 05 23:11:01 199580372000 Fastfat.sys Mon May 22 23:57:13 1995fc820000 Floppy.sys Header Paged Outfc830000 Scsicdrm.sys Wed May 10 21:57:03 1995fc840000 Fs_Rec.sys Header Paged Outfc850000 Null.sys Header Paged Outfc860000 Beep.sys Header Paged Outfc870000 I8042prt.sys Fri May 05 23:10:42 1995fc880000 Mouclass.sys Fri May 05 23:10:45 1995fc890000 Kbdclass.sys Fri May 05 23:10:44 1995fc8b0000 Videoprt.sys Fri May 05 23:10:05 1995fc8a0000 S3.sys Fri May 19 21:18:06 1995fc8c0000 Vga.sys Fri May 05 23:10:10 1995fc8d0000 Msfs.sys Fri May 05 23:11:57 1995fc8e0000 Npfs.sys Fri May 05 23:11:40 1995fc900000 Ndis.sys Mon May 22 20:23:18 1995fc8f0000 El59x.sys Fri Feb 10 16:18:09 1995fc940000 Tdi.sys Fri May 05 23:13:09 1995fc920000 Nbf.sys Mon May 08 15:00:47 1995fc950000 Netbios.sys Fri May 05 23:13:19 1995fc960000 Parport.sys Header Paged Outfc970000 Parallel.sys Header Paged Outfc980000 Serial.sys Fri May 05 23:11:20 1995fc990000 Afd.sys Header Paged Outfc9a0000 Rdr.sys Wed May 17 17:18:16 1995fc9e0000 Srv.sys Wed May 24 21:56:59 1995TOTAL: 1ab460 (1709 kb) 3b7c0 ( 237 kb) ( 0 kb 0 kb)kd> Uwaga czas utworzenia pliku, który jest datą, kiedy plik jest skompilowany. Ta data jest blisko pieczęć Date\Time na rzeczywisty plik podczas przeglądania podfolder Winnt\System32\Drivers korzystanie z Menedżera plików. Jeśli możesz zapisać się do sieci programistów Microsoft (MSDN) lub Windows urządzenia Driver Kit (DDK), narzędzie Link.exe można potwierdzić, że plik Dbg jest ten sam plik, który został utworzony podczas sterownik został skompilowany. "Data sygnaturę czasową" w poniższym przykładzie pasuje do "Tworzenie czas" Netbios.sys w powyższych danych wyjściowych. Umożliwia sprawdzanie "data sygnatura czasowa" plik Dbg Link.exe:

ŁĄCZE - dump - nagłówki \symbols\sys\netbios.dbgMicrosoft (R) kawy pliku binarnego Wywrotka wersji 3.00.5270 Copyright (C) Microsoft Corp 1992-1995. Wszelkie prawa zastrzeżone. Automatyczna kopia zapasowa pliku Netbios.dbg

flagi 4944 podpisu 0 306 charakterystyki urządzeń (i386) 14CStempel daty czasu 2FAAE94F piątek maja 05 23:13:19 1995 r.

8D0B suma kontrolna obrazu 10000 podstawowy obraz 70A0 rozmiar obrazu** Zawartość elementów usuniętych ** Jeśli ! drivers polecenia produkuje wszystkie wiersze, które wyglądają jak następujące, ważne tabeli w zrzucie jest uszkodzony. Dalsza analiza zrzutu może okazać się niemożliwe.

Nie można odczytać DosHeader o 0583002a - stan 00000000 nie może odczytać DosHeader o 0587002a - stan 00000000 nie może odczytać DosHeader o 0588002a - stan 00000000 nie może odczytać DosHeader o 058a002a - stan 00000000 nie może odczytać DosHeader o 058c002a — stan 00000000

Funkcja unassembling

Pliki symboli Włącz debuger jądra odwołać się za pomocą nazwy funkcji i zmiennych globalnych. Miejscu sprawdzić kilka funkcji niezmontowane, aby upewnić się, że wyglądają one właściwe. Wiele funkcji są zoptymalizowane kompilator i nie muszą spełniać poniższe przykłady. Kompilator zoptymalizowane funkcje są identyfikowane przez Polinezji Francuskiej w nawiasie na nazwę funkcji. Funkcje zwykle zaczynają się od albo "push ebp" lub "mov eax fs [000000000]." Podstawowa znajomość języka maszynowego i doświadczenie pozwoli do uznania tych funkcji.

  • Listę załadowanych modułów x *!

  • Lista symboli dla danego modułu (na przykład Ntoskrnl.exe). x nt! *

  • Wybierz funkcję do dezasembluj czyli nie kompilator zoptymalizowany. u NT! _NtUnlockFile

Dobry symboli

kd> u NT!_NtUnlockFileu NT!_NtUnlockFileNT!_NtUnlockFile:80156bd8 64a100000000     mov     eax,fs:[00000000]80156bde 55               push    ebp80156bdf 8bec             mov     ebp,esp80156be1 6aff             push    0xff80156be3 68200d1080       push    0x80100d2080156be8 68304f1380       push    0x80134f3080156bed 50               push    eax80156bee 64892500000000   mov     fs:[00000000],espkd> 

Unassembly, funkcja powinna wyglądać podobnie do tekstu powyżej; unassembly jest jednak ulec zmianie. Jeśli unassembly wygląda odpowiedniej, można przyjąć, że symbole zostały załadowane prawidłowo dla tego modułu. Unassembly następujące zaczyna się od "jnz NT! _NTUnlockFile + 0x22." Oczywiście na początku funkcji nie chce się uruchomić z Kod instrukcji skoku. Sprawdź jeszcze raz drzewa symbol.

Zły symboli

kd> u NT!_NTUnlockFileu NT!_NTUnlockFileNT!_NtUnlockFile:801574a4 7520             jnz     NT!_NtUnlockFile+0x22 (801574c6)801574a6 6a00             push    0x0801574a8 8d45dc           lea     eax,[ebp-0x24]801574ab 50               push    eax801574ac 53               push    ebx801574ad ff356c361480     push    dword ptr [NT!_CcNoDelay+0x4 (8014366c)]801574b3 6a01             push    0x1801574b5 ff7508           push    dword ptr [ebp+0x8] 

Service Pack symboli

Istnieją sytuacje, gdy będzie trudno dopasować symboli z danej instalacji. W pewnym momencie w czasie usługa może dodano wymagane kopiowanie plików z CD instalacji systemu Windows, którego kopiowane pliki, które zostały uaktualnione do dodatku service pack. Należy ponownie zastosować dodatek service pack i wszystkich dysków, obsługa firm po zmianie konfiguracji systemu, który kopiuje pliki z dysku CD instalacji systemu Windows. Symbole stosuje się w tej samej kolejności, jak instalacja.

DODATKOWE INFORMACJE

Aby znaleźć serii Kernel Debug jak do artykułów, wyszukaj słowo kluczowe: debugref. WinDbg 2.0.x Symbol techniki W wersji z debugerem 2.0.x i jest większy niż Debuggers Microsoft istnieją kroki weryfikacji dodatkowych symboli, które mogą być używane. Aby uzyskać więcej informacji należy odwołać się do następującej witryny firmy Microsoft w sieci Web:

Sterowniki Development Kit

Potrzebujesz dalszej pomocy?

Chcesz uzyskać więcej opcji?

Poznaj korzyści z subskrypcji, przeglądaj kursy szkoleniowe, dowiedz się, jak zabezpieczyć urządzenie i nie tylko.

Społeczności pomagają zadawać i odpowiadać na pytania, przekazywać opinie i słuchać ekspertów z bogatą wiedzą.

Czy te informacje były pomocne?

Jaka jest jakość języka?
Co wpłynęło na Twoje wrażenia?
Jeśli naciśniesz pozycję „Wyślij”, Twoja opinia zostanie użyta do ulepszania produktów i usług firmy Microsoft. Twój administrator IT będzie mógł gromadzić te dane. Oświadczenie o ochronie prywatności.

Dziękujemy za opinię!

×