Aracılığıyla paylaş


KDNET ağ çekirdeği hata ayıklamasını otomatik olarak ayarlama

Windows için Hata Ayıklama Araçları, ağ üzerinden çekirdek hata ayıklamasını destekler. Bu makalede ,kdnet.exe kurulum aracını kullanarak ağ hata ayıklamasını otomatik olarak ayarlama işlemi açıklanır.

Hata ayıklayıcısını çalıştıran bilgisayara konak bilgisayar, hata ayıklanan bilgisayara ise hedef bilgisayar adı verilir. Ana bilgisayar Windows 7 veya sonraki bir sürümü çalıştırıyor olmalı ve hedef bilgisayar Windows 8 veya üzerini çalıştırıyor olmalıdır.

Ana bilgisayarın IP adresini belirleme

  1. Hedef ve konak bilgisayarların uygun bir ağ kablosu kullanarak bir ağ hub'ına veya anahtara bağlı olduğunu onaylayın.

  2. Ana bilgisayarda bir komut istemi açın ve ip yapılandırmasını görüntülemek için girin IPConfig .

  3. Komut çıkışında Ethernet bağdaştırıcısının IPv4 adresini bulun.

...

Ethernet adapter Ethernet:
...

IPv4 Address. . . . . . . . . . . : <YourHostIPAddress>
...

Alternatif olarak, IPv4 adres bilgilerini toplamak için Ayarlar, Ağ ve İnternet, Ethernet kullanın.

  1. Hata ayıklama için kullanmayı planladığınız ağ bağdaştırıcısının IPv4 adresini not edin.

Konak ve hedef bilgisayarları ayarlayın

Aşağıdaki adımları izleyerek hedef bilgisayarda hata ayıklayıcı ayarlarını otomatik olarak yapılandırmak için kdnet.exe yardımcı programını kullanın.

  1. Konak sisteminde Windows Hata Ayıklama Araçları'nın yüklü olduğunu onaylayın. Hata ayıklayıcı araçlarını indirme ve yükleme hakkında bilgi için bkz. Windowsiçin Hata Ayıklama Araçları .

  2. kdnet.exe ve VerifiedNICList.xml dosyalarını bulun. Varsayılan olarak, dosyalar aşağıdaki konumda bulunur:

    C:\Program Files (x86)\Windows Kits\10\Debuggers\x64
    

    Bu yönergeler, her iki bilgisayarın da hem hedef hem de konakta Windows'un 64 bit sürümünü çalıştırdığını varsayar. Böyle bir durum söz konusu değilse, en iyi yaklaşım, hedeften çalıştırılan sistemde aynı "bit" araçlarını çalıştırmaktır. Örneğin, hedef 32 bit Windows çalıştırıyorsa konakta hata ayıklayıcının 32 sürümünü çalıştırın. Daha fazla bilgi için bkz. 32 bit veya 64 bit Hata Ayıklama Araçlarını Seçme.

  3. Konak bilgisayarda, iki dosyayı bir ağ paylaşımına veya başparmak sürücüsüne kopyalayarak hedef bilgisayarda kullanılabilir olmasını sağlayın.

  4. Hedef bilgisayarda bir C:\KDNET dizini oluşturun ve kdnet.exe ve VerifiedNICList.xml dosyalarını bu dizine kopyalayın.

    Önemli

    Önyükleme bilgilerini değiştirmek için kdnet.exe kullanmadan önce, test bilgisayarında BitLocker ve Güvenli Önyükleme gibi Windows güvenlik özelliklerini geçici olarak askıya almanız gerekebilir. Test tamamlandığında bu güvenlik özelliklerini yeniden etkinleştirin ve güvenlik özellikleri devre dışı bırakıldığında test bilgisayarını uygun şekilde yönetin.

  5. Hedef bilgisayarda yönetici olarak bir komut istemi açın. Hedef bilgisayarın desteklenen bir ağ bağdaştırıcısına sahip olduğunu doğrulamak için şu komutu girin:

    C:\KDNET>kdnet.exe
    Network debugging is supported on the following NICs:
    busparams=1.0.0, Broadcom NetXtreme Gigabit Ethernet, Plugged in.  
    This Microsoft hypervisor supports using KDNET in guest VMs.
    
  6. kdnet.exe çıkışı hedef üzerindeki ağ bağdaştırıcısının desteklendiğini gösterdiğinde devam edebilirsiniz.

  7. Konak sisteminin IP adresini ayarlamak ve benzersiz bir bağlantı anahtarı oluşturmak için aşağıdaki komutu girin. IP adresini veya konak sisteminin adını kullanın. Birlikte çalıştığınız her hedef/konak çifti için önerilen 50000-50039 aralığında benzersiz bir bağlantı noktası adresi seçin.

    C:\KDNET>kdnet.exe <HostComputerIPAddress> <YourDebugPort> 
    
    Enabling network debugging on Intel(R) 82577LM Gigabit Network Connection.
    Key=2steg4fzbj2sz.23418vzkd4ko3.1g34ou07z4pev.1sp3yo9yz874p
    
  8. Döndürülen anahtarı bir Not Defteri .txt dosyasına kopyalayın.

Çekirdek hata ayıklaması için WinDbg'yi hedefe bağlama

Konak bilgisayarda WinDbg'yi açın. Dosya Menüsünde Çekirdek Hata Ayıklamaseçin. Çekirdek Hata Ayıklama iletişim kutusunda Net sekmesini açın. Daha önce not defteri .txt dosyasına kaydedilmiş bağlantı noktası numaranızı ve anahtarınızı yapıştırın. Tamam'ı seçin.

Ayrıca bir komut istemi açıp aşağıdaki komutu girerek bir WinDbg oturumu başlatabilirsiniz. <YourPort> , daha önce seçtiğiniz bağlantı noktasıdır ve <YourKey> , daha önce kdnet.exe tarafından döndürülen anahtardır. Kaydettiğiniz anahtarı daha önce not defteri .txt dosyasına yapıştırın.

windbg.exe -k -d net:port=<YourDebugPort>,key=<YourKey> 

Örnekte gösterilen isteğe bağlı -d parametre, erken zorla girme işlemini etkinleştirir. Daha fazla bilgi için bkz. WinDbg komut satırı seçenekleri.

WinDbg'nin güvenlik duvarı üzerinden bağlantı noktasına erişmesine izin vermeniz istenirse, WinDbg'nin farklı ağ türlerinin üç bağlantı noktasına erişmesine izin verin.

Üç ağ türüne de erişime izin veren seçimlerin bulunduğu Windows Güvenlik Uyarısı'nın ekran görüntüsü.

Bu noktada hata ayıklayıcı hedefin yeniden bağlanmasını bekler. Metin hata ayıklayıcısı komut penceresinde görüntülenir. Bu metin aşağıdakine benzer olacaktır:

Microsoft (R) Windows Debugger Version 1.0.1908.30002 AMD64
Copyright (c) Microsoft Corporation. All rights reserved.

Using NET for debugging
Opened WinSock 2.0
Waiting to reconnect...

Hedef bilgisayarı yeniden başlatma

Hata ayıklayıcı "Yeniden bağlanma bekleniyor..." aşamasına geldiğinde, hedef bilgisayarı yeniden başlatın. Bilgisayarı yeniden başlatmanın bir yolu, yöneticinin komut isteminden bu komutu kullanmaktır.

shutdown -r -t 0 

Hedef bilgisayar yeniden başlatıldıktan sonra hata ayıklayıcının otomatik olarak bağlanması gerekir.

Sorun giderme ipuçları

Hata ayıklama uygulamalarına güvenlik duvarı üzerinden izin verilmelidir

Hata ayıklayıcının çalıştığı konak tarafında, hata ayıklayıcının güvenlik duvarı üzerinden hedefle iletişim kurmasına izin vermek için tüm ağ türlerinin etkinleştirilmesi gerekir.

Güvenlik duvarı üzerinden erişime izin vermek için Denetim Masası'nı kullanın.

  1. Sistem ve Güvenlik Denetim Masası'nı açın ve Windows Güvenlik Duvarıaracılığıyla uygulamaya izin ver seçin.

    • (WinDbg) Uygulama listesinde,WinDbg altyapısı işlemini (TCP) (tümü) bulun.

    • (WinDbg (Klasik)) Uygulama listesinde Windows GUI Sembolik Hata Ayıklayıcısı ve Windows Çekirdek Hata Ayıklayıcısı bulun.

  2. Bu iki uygulamanın farklı ağ türlerinin üçünü de kullanmasına izin vermek için onay kutularını kullanın.

  3. Güvenlik duvarı değişikliklerini kaydetmek için ekranı aşağı kaydırın ve Tamam seçin. Hata ayıklayıcıyı yeniden başlatın.

    Üç ağ türünün de etkin olduğu Windows GUI Sembolik Hata Ayıklayıcısı ve Windows Çekirdek Hata Ayıklayıcısı uygulamalarını görüntüleyen Denetim Masası güvenlik duvarı yapılandırmasının ekran görüntüsü.

Bağlantıyı test etmek için ping kullanma

Hata ayıklayıcı zaman aşımına uğrar ve bağlanmazsa, bağlantıyı doğrulamak için hedef bilgisayardaki ping komutunu kullanın.

   C:\>Ping <HostComputerIPAddress>

Ağ hata ayıklaması için bağlantı noktası seçme

Hata ayıklayıcı zaman aşımına uysa ve bağlanmazsa, bunun nedeni varsayılan bağlantı noktası numarası olan 50000'in zaten kullanımda olması veya engellenmesi olabilir.

49152 ile 65535 arasında herhangi bir bağlantı noktası numarası seçebilirsiniz. Önerilen aralık 50000 ile 50039 arasındadır. Seçtiğiniz bağlantı noktası, konak bilgisayarda çalışan hata ayıklayıcısı tarafından özel erişim için açılır.

Ağ hata ayıklaması için kullanılabilecek bağlantı noktası numaraları aralığı şirketinizin ağ ilkesiyle sınırlı olabilir. Şirketinizin ilkesinin ağ hata ayıklaması için kullanılabilecek bağlantı noktası aralığını sınırlayıp sınırlamadığını belirlemek için ağ yöneticilerinize başvurun.

Desteklenen ağ bağdaştırıcıları

kdnet.exeçalıştırdığınızda "Bu makinedeki NIC'lerin hiçbirinde ağ hata ayıklama desteklenmiyor" görüntüleniyorsa, ağ bağdaştırıcısı desteklenmez.

Konak bilgisayar herhangi bir ağ bağdaştırıcısı kullanabilir, ancak hedef bilgisayar Windows için Hata Ayıklama Araçları tarafından desteklenen bir ağ bağdaştırıcısı kullanmalıdır. Desteklenen ağ bağdaştırıcılarının listesi için bkz. Windows 10'da ağ çekirdeği hata ayıklama için Desteklenen Ethernet NIC'leri ve Windows 8.1'de ağ çekirdeği hata ayıklaması için Desteklenen Ethernet NIC'leri.

Diğer hata ayıklama türlerini etkinleştirme

Windows 10 Ekim 2020 Güncelleştirmesi (20H2) ile başlayarak, dört hata ayıklama türünü etkinleştirmek için aşağıdaki seçenekler desteklenir:

Hata ayıklama türlerinin herhangi bir bileşimi belirtilebilir.

Hiçbir hata ayıklama türü belirtilmezse çekirdek hata ayıklama etkinleştirilir.

Hem hiper yönetici hem de çekirdek hata ayıklama etkinleştirildiyse, hiper yönetici bağlantı noktası + 1 olarak <YourDebugPort> ayarlanır.

Örnek kullanım

Bootmgr, çekirdek ve winload hata ayıklamasını etkinleştirmek için - bkw seçeneğini kullanın.

C:\>kdnet.exe <HostComputerIPAddress> <YourDebugPort> -bkw

Enabling network debugging on Intel(R) 82577LM Gigabit Network Connection.
Key=2steg4fzbj2sz.23418vzkd4ko3.1g34ou07z4pev.1sp3yo9yz874p

Hata ayıklama türü seçeneklerinin özeti

KNDET Seçeneği Açıklama Eşdeğer küme komutu
b bootmgr hata ayıklamasını etkinleştirir bcdedit /bootdebug {bootmgr} üzerinde
h hiper yönetici hata ayıklamasını etkinleştirir bcdedit /set hypervisordebug on
k çekirdek hata ayıklamasını etkinleştirir bcdedit /debug on
w winload hata ayıklamasını etkinleştirir bcdedit /bootdebug açık

Veri yolu parametrelerini belirtme

Kdnet, taşımanız için veri yolu parametrelerini otomatik olarak belirleyemezse, bunları /busparams seçeneğini kullanarak belirtilen söz dizimiyle komut satırında belirtin.

kdnet.exe /busparams [b.d.f] [host] [port] [-[b][h][k][w]]

b.d.f yapılandırılan cihazın veri yolu parametrelerini belirtir.

Hata ayıklama için kullanmak istediğiniz bağdaştırıcının PCI veri yolu, cihaz ve işlev numaralarını belirlemek için hedef bilgisayarda Cihaz Yöneticisi'ni kullanın. Veri yolu parametreleri için b girin. d. f , burada b, d ve f bağdaştırıcının veri yolu numarası, cihaz numarası ve işlev numarasıdır. Bu değerler, Cihaz Yöneticisi'nde Genelsekmesindeki Konum altında görüntülenir.

Örneğin:

C:\>kdnet.exe /busparams 0.29.7 <HostComputerIPAddress> <YourDebugPort> -bkw

Ayrıca bkz.