12 Temmuz 2011'desteği için Windows Vista Service Pack 1 (SP1) sona erer. Windows için güvenlik güncelleştirmelerini almaya devam etmek üzere Windows Vista Service Pack 2 (SP2) çalıştırdığınızdan emin olun. Daha fazla bilgi için şu Microsoft web sayfasına bakın: bazı Windows sürümleri için destek sona eriyor.
Özet
Çekirdek hata ayıklayıcısı başlattıktan sonra Windows hata ayıklama simgeleri doğrulanması gereken (I386kd.exe | WinDbg.exe). hata ayıklayıcısı yükleyin ve bir ileti görüntülenir, ancak simgeler doğru değilse, gelecekteki hata ayıklama komutları uygun işlevleri ve düzensiz aralıklarla sonuçlar verecektir değişkenleri, başvuru yapmayın. Aşağıda listelenen birkaç kırmızı bayraklar ve simgeler spot onay geçerliliğini yöntemlere birkaç'dır.
Ek Bilgi
Bu makalede, çekirdek hata ayıklayıcısı çalışıyor ve bir Memory.dmp dosyasını yükledi veya bir uzak makineye bağlı olduğunu varsayar. Sunulan komutların tam belgelenmemiştir ve yalnızca forumlarından alıntıları çıktı gösterilir.
Makale içeriği
-
Çekirdek Hata Ayıklayıcısı'nı yükleme
-
Oluşturulma saati ile denetimi! sürücüleri
-
Oluşturulma zamanı denetlemek için Link.exe kullanma
-
Bir İşlevi Parçalarına Ayırma
-
Hizmet paketi simgeler
Çekirdek Hata Ayıklayıcısı'nı yükleme
Çekirdek hata ayıklayıcısı normal yükü aşağıdaki sorular birini görüntüler:
kd > tek işlemcili sistem 0: kd > çok işlemcili sistemAşağıda gösterilen İstemi simgesi dosya Ntoskrnl.exe dosyasının hatalı olduğunu gösterir. Sembol ağaç yapısına uygun çok işlemcili veya tek işlemcili çekirdek ve HAL kopyalandığından emin olmak için denetleyin. Örnek: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> Çekirdek hata ayıklayıcısı Memory.dmp dosyası, çekirdek sürümü yanı sıra işlemci sayımı yüklediğinde, ilk birkaç satır görüntülenir. İşlemci sayısı uygun çekirdek ve HAL ile karşılık geldiğini onaylayın. Ya da simgeler yüklü veya ertelenmiş sürücü simgesi bilgileri görüntülenir. Örnek yükleme: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> Çekirdek hata ayıklayıcısı "görüntü başlığı için Floppy.sys fc820000 - durum c0000001 okunamıyor." olduğunu unutmayın. Belirli bir sürücü başlığı şu anda bellekte olmadığından bu ileti normaldir.
Oluşturulma saati ile denetimi! sürücüleri
Kullanım ! sürücüleri şu anda sürücülerini listelemek için komut bellekte yüklü. Not tarihleri ve saatleri sürücülerinin ve olup olmadığına onlar yüklenememe olun. (Aşağıdaki örnekteki kod boyutu ve veri boyutu sütun makale genişliğine sığacak şekilde kaldırılır).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> Tarih dosya derlenmiş dosyanın oluşturulma zamanı unutmayın. Bu yakın Date\Time damgası gerçek dosyayı dosya Yöneticisi'ni kullanarak Winnt\System32\Drivers alt görüntülerken tarihidir. Microsoft Developers Network (MSDN) abone veya Windows Aygıt Sürücüsü Seti (DDK) varsa, Link.exe aracı Dbg dosya sürücüsü derlendiğinde, oluşturulan dosyanın olduğundan emin olmak için kullanılabilir. "Zaman tarih damgası" aşağıdaki örnekte yukarıdaki çıktı Netbios.sys "oluşturma saatini" ile eşleşir. Link.exe, "zaman tarih damgası" Dbg dosyasının denetlemek için kullanın:
BAĞLANTI - döküm - başlıkları \symbols\sys\netbios.dbgMicrosoft (R) COFF ikili dosya Dumper sürüm 3.00.5270 Telif Hakkı (C) Microsoft Corp 1992-1995. Tüm hakları saklıdır. Döküm dosyası Netbios.dbg
4944 imza 0 14 C makine (i386) 306 özellikleri bayrakları2FAAE94F zaman tarih damgası Cum May 05 23:13:19 1995
8D0B sağlama toplamı 10000 temel görüntüsü Görüntü 70A0 görüntü boyutunu** Silinen içeriği ** ise ! sürücüleri önemli bir döküm tablosunda bozuk, komut aşağıdaki gibi görünen satırları oluşturur. Daha fazla çözümleme dökümünün mümkün olmayabilir.
DosHeader 0583002a - durum 00000000 okunamıyor DosHeader 0587002a - durum 00000000 okunamıyor DosHeader 0588002a - durum 00000000 okunamıyor DosHeader 058a002a - durum 00000000 okunamıyor DosHeader 058c002a - durum okunamıyor 00000000
Bir İşlevi Parçalarına Ayırma
Fonksiyonlar ve genel değişkenler adlarıyla başvurmak çekirdek hata ayıklayıcısı simge dosyaları etkinleştirin. Nokta birkaç unassembled işlevlerinin düzgün görünüyorlar emin olmak için denetleyin. Derleyici en iyi duruma getirilmiş ve örnekler için mutlaka uymayan Bunun birçok işlevlerdir. Optimize derleyici işlevler işlev adı parantez içinde FPO tanımlanır. İşlevler normalde ya da "itme ebp" ile başlayan veya "mov eax, fs [000000000]." Bu işlevler tanımak bir makine dili ve deneyim temel bilgi sağlayacaktır.
-
Yüklü modüller listesi x *!
-
Belirli bir modül (örneğin, Ntoskrnl.exe) simgeleri listeler. nt x! *
-
Yani optimize derleyici unassemble için bir işlev seçin. u NT! _NtUnlockFile
İyi simgeler
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 işlevinin yukarıdaki metin benzer olmalıdır; Ancak, unassembly değiştirilebilir değildir. Unassembly doğru görünüyorsa, simgeler için bu modülü düzgün yüklemiş olduğunuz kabul edilebilir. Aşağıdaki unassembly ile başlar "jnz NT! _NTUnlockFile + 0x22." Kuşkusuz, bir işlevin başına bir atlama yönergesi koduyla başlatılmayacaktır. Sembol ağacında bir kez daha denetleyin.
Bozuk simgeler
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]
Hizmet paketi simgeler
Ne zaman simgeleri belirli bir yükleme ile eşleştirmek zor olduğu durumlar vardır. Zaman içinde bir noktada hizmet gereken bir hizmet paketiyle güncelleştirilen dosyaların üzerine kopyalanan Windows yükleme CD-ROM dosyaları kopyalayarak eklenmiş. Sistem Kurulumu, Windows yükleme CD-ROM'UNDAN dosyaları kopyalar değiştirdikten sonra hizmet paketini ve herhangi bir üçüncü taraf desteği diskleri yeniden emin olun. Simgeler yükleme aynı sırada uygulanması gerekir.
EK BİLGİ
Çekirdek hata ayıklama nasıl yapılır dizi makaleleri bulmak için arama anahtar sözcüğü: debugref. WinDbg 2.0.x sembol teknikleri Hata ayıklayıcı sürümünde 2.0.x ve büyük Microsoft Debuggers kullanılabilecek ek simge doğrulama adımları vardır. Daha fazla bilgi için aşağıdaki Microsoft Web sitesine başvurun: