Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Windows için Hata Ayıklama Araçları, PCI yapılandırma alanını bölümleyerek desteklenen NIC'lerde birden çok Fiziksel İşlev (PF) kullanarak ağ kablosu üzerinden çekirdek hata ayıklamasını destekler.
2PF hata ayıklama ile her PF tek bir ağ bağlantı noktasına bağlanabilir, bu nedenle standart ağ yığını diğer PF ile konuşurken çekirdek hata ayıklama işlevinin bir PF'ye bağlanmasına olanak tanır. Bu nedenle, KDNIC'nin Windows ağ trafiğini KDNET üzerinden yönlendirmesi gerekmez ve KDNET yalnızca konak çekirdek hata ayıklayıcısı trafiğini yönlendirmekle sorumludur. Bu da önemli bir performans artışına neden olur.
Bu konuda, kdnet.exe yardımcı programını kullanarak 2PF hata ayıklamanın nasıl ayarlanacağı açıklanmaktadır.
Ağ kartı satıcılarının bu özellik için desteği etkinleştirmesi tavsiye edilir. Daha fazla bilgi için bkz. Hata Ayıklayıcı 2PF KDNET MiniPort Ağ Sürücüsü Desteği.
Bölümlenmiş PCI yapılandırma alanı üzerinde iki sürücü çalışacak
Windows gelen kutusu sürücüsü, bus.dev birincil ağ bağlantı noktasının fun0.0 PCI konumunda çalışacaktır.
KDNET-Ext. modülü bus.dev.fun0.1'de eklenen PF'yi çalıştıracaktır. Bu teknik, KDNET ile NIC paylaşımı nedeniyle Windows NIC sürücüsünün etkilenmemesini sağlar.
Hata ayıklayıcısını çalıştıran bilgisayara
Kernel-Mode 2PF cihaz gereksinimleri
Aşağıdakiler gereklidir:
Hedef bilgisayarda desteklenen bir 2PF ağ kartı.
Konak bilgisayarda bir ağ kartı.
Hedef ve konak arasında bir ağ bağlantısı.
Windows 10 Derleme 21313 ve üzeri.
Desteklenen 2PF Ağ Kartları
NVIDIA Mellanox ve Cisco gibi satıcılar 2PF ağ hata ayıklamasını destekleyen NIC'ler sağlar. Ağ kartının hangi modellerinin desteklendiğine bakmak için ağ kartı satıcısına başvurun. Bazı satıcıların aynı PnP kimliğini paylaşan bir alt ağ kartı kümesinde 2PF'yi desteklediğini unutmayın.
Cihaz desteğini onaylamak ve busparams değerini görüntülemek için kdnet.exe kullanın
KDNET 2PF aktarım hata ayıklamasını destekleyen denetleyicilerin parametre bilgilerini görüntülemek için kdnet.exe yardımcı programını kullanın.
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ı
. kdnet.exe ve VerifiedNICList.xml dosyalarını bulun. Varsayılan olarak, bunlar burada bulunur.
C:\Program Files (x86)\Windows Kits\10\Debuggers\x64Konak bilgisayarda, iki dosyayı hedef bilgisayarda kullanılabilir olmaları için bir ağ paylaşımına veya flash belleğe kopyalayın.
Hedef bilgisayarda bir
C:\KDNETdizin oluşturun ve kdnet.exe ve VerifiedNICList.xml dosyalarını bu dizine kopyalayın.Hedef bilgisayarda, Yönetici olarak bir Komut İstemi penceresi açın. Hedef bilgisayarın desteklenen bir ağ bağdaştırıcısına sahip olduğunu doğrulamak ve busparams değerini görüntülemek için bu komutu girin.
C:\KDNET>kdnet.exe Network debugging is supported on the following NICs: busparams=141.0.0, Mellanox ConnectX-4 Lx Ethernet Adapter #2, Plugged in, Primary function, multiple physical functions are supported. Network debugging is supported on the following USB controllers: busparams=128.15.0, Standard USB 3.0 eXtensible Host Controller - 1.0 (Microsoft) busparams=0.15.0, Standard USB 3.0 eXtensible Host Controller - 1.0 (Microsoft) busparams=128.15.1, Standard USB 3.0 eXtensible Host Controller - 1.0 (Microsoft) busparams=0.15.1, Standard USB 3.0 eXtensible Host Controller - 1.0 (Microsoft)Yukarıda gösterilen çıkış "KDNET bu NIC üzerinde çalışıyor" ifadesini içermediğinden, bu geleneksel KDNET hata ayıklamasının bağdaştırıcıların hiçbirinde etkinleştirilmediğini gösterir.
NIC birden çok PF özelliğini desteklemiyorsa , görüntülenen bilgilerden "birden çok fiziksel işlev destekleniyor" pf durumu bildirimi atlanır (boş).
NIC birden çok PF'yi destekliyorsa, görüntülenen gerçek bilgiler Ağ bağlantı noktasının (kök bağlantı noktası/PF eklenen bağlantı noktası) bileşimine ve NIC fiziksel bağlantı noktasına bağlı/bağlantısı kesilmiş duruma bağlıdır.
Bu tablo, birincil NIC için farklı PF bildirimlerini özetler.
NIC kartı bus.dev.fun ile eşleşir Kablo durumu PF Durumu özgün (birincil) PF kablosu bağlı Birincil işlev, birden çok fiziksel işlev etkin özgün (birincil) PF kablosunun bağlantısı kesildi Birincil işlev, birden çok fiziksel işlev desteklenir Bu tablo, ikincil NIC için farklı PF bildirimlerini özetler.
NIC bağdaştırıcısı bus.dev.fun ile eşleşir Kablo durumu PF Durumu yeni (ikincil) PF bağlantı noktası Kdnet çalışıyor İkincil işlev yeni (ikincil) PF bağlantı noktası kablo bağlantısı kesildi veya kablo durumu bilinmiyor Birincil işlev, birden çok fiziksel işlev etkinleştirilir, ancak ikincil işlev kullanılmaz kdnet.exe çıktısı desteklenen bir NIC denetleyicisinin kullanılabilir olduğunu gösteriyorsa devam edebiliriz.
2PF için Hedef Bilgisayarı Ayarlama
2PF için hedef bilgisayarda hata ayıklayıcı ayarlarını yapılandırmak için aşağıdaki adımları izleyerek kdnet.exe yardımcı programını kullanın.
Önemli
Önyükleme bilgilerini değiştirmek için bcdedit'i kullanmadan önce, test bilgisayarında BitLocker ve Güvenli Önyükleme gibi Windows güvenlik özelliklerini geçici olarak askıya almanız gerekebilir. ÖNYÜKLEME bilgilerini güncelleştirmek için BCDEdit'i kullanmayı bitirdikten sonra Bit Locker ve Secure Boot'ı yeniden etkinleştirebilirsiniz. Güvenlik özellikleri devre dışı bırakıldığında test bilgisayarını uygun şekilde yönetin.
Bu işlem, tarafından bus.device.functionbelirtilen NIC'ye yeni bir fiziksel işlev (PF) ekler. Yeni PF yalnızca KDNET tarafından kullanılabilir çünkü Windows gelen kutusu sürücüsü eklenen, ikincil bir PF'de çalıştırılmayacak şekilde ayarlanmıştır. Hata ayıklama cihazı tarafından kullanılacak yeni bir PF eklemek için bu adımları izleyin.
Yeni fiziksel işlevi eklemeden önce hata ayıklamanın devre dışı bırakıldığını onaylayın
- NIC'ye yeni bir PF eklemeden önce hedefte KD'nin devre dışı bırakıldığını onaylamak için BCDEdit komutunu kullanın. Yeni PF'yi eklemek için kullanılabilmesi için standart satıcı NIC sürücüsünün yüklendiğinden emin olmak için bu gereklidir.
C:\> bcdedit /enum
...
debug No
Alternatif olarak, hata ayıklamanın etkinleştirilip etkinleştirilmediğini görmek için parametresiz kdnet.exe kullanın. Aşağıdaki çıkışta, bir NIC'de hata ayıklamanın etkinleştirildiği bir sistemde çalışan KDNET gösterilmektedir. Bu, düşük performanslı eski kurulumdur.
c:\Debuggers>kdnet
Network debugging is supported on the following NICs:
busparams=141.0.0, Mellanox ConnectX-4 Lx Ethernet Adapter #2, KDNET is running on this NIC.
Network debugging is supported on the following USB controllers:
busparams=128.15.0, Standard USB 3.0 eXtensible Host Controller - 1.0 (Microsoft)
busparams=0.15.0, Standard USB 3.0 eXtensible Host Controller - 1.0 (Microsoft)
busparams=128.15.1, Standard USB 3.0 eXtensible Host Controller - 1.0 (Microsoft)
busparams=0.15.1, Standard USB 3.0 eXtensible Host Controller - 1.0 (Microsoft)
- Hata ayıklama değeri Evet olarak ayarlandıysa, hata ayıklamayı devre dışı bırakmak için set komutunu kullanın.
C:\> bcdedit.exe /debug off
C:\> bcdedit.exe /set {default} bootdebug off
C:\> bcdedit.exe /set {bootmgr} bootdebug off
-
shutdown -r -t 0Yeniden başlatmak için yöneticinin komut istemindeki komutu kullanın.
Hedef bilgisayar yeniden başlatıldıktan ve hata ayıklama devre dışı bırakıldıktan sonra yeni fiziksel işlevi ekleyebiliriz.
Yeni fiziksel işlevi ekleme
- Yükseltilmiş bir komut istemi açın ve ikinci bir PF eklemek için aşağıdaki komutu çalıştırın. Tüm değerler ondalık değerler kullanılarak sağlanır.
C:\KDNET> kdnet -addpf 141.0.0 198.51.100.1 50001
Succeeded adding a Pci PF on :141.0.1. Please power off or reboot the machine.
Enabling network debugging on Mellanox ConnectX-4 Lx Ethernet Adapter #2.
Manage-bde.exe not present. Bitlocker presumed disabled.
To debug this machine, run the following command on your debugger host machine.
windbg -k net:port=50001,key=2steg4fzbj2sz.23418vzkd4ko3.1g34ou07z4pev.1sp3yo9yz874p
Then reboot this machine by running shutdown -r -t 0 from this command prompt.
bus.dev.fun , NIC bağdaştırıcısının birden çok PF özelliğini destekleyen PCI konum bağlantı noktasıdır, bu nedenle yeni PF bu ağ cihazına eklenir/eklenir.
-addpf seçeneği, eklenen PF bağlantı noktasında KDNET aktarımı üzerinden otomatik olarak çekirdek hata ayıklamasını etkinleştirir.
[host name/host ip address] , ana bilgisayarın TCP/IP adresidir.
ipconfig Bu adresi belirlemek için ana bilgisayardaki komutunu kullanın.
[port number] TCP/IP bağlantı noktası numarasıdır. 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ı tarafından özel erişim için açılır. Birlikte çalıştığınız her hedef/konak çifti için önerilen 50000-50039 aralığında benzersiz bir bağlantı noktası adresi seçin. Örnekte 50005 gösterilmektedir.
-addpf özniteliğini NO_KDNIC işletim sistemi yüklemesine de ekleyeceğini unutmayın {default} loadoptions. Bunun nedeni KDNET'in KDNET üzerinde çalışması için KDNIC'in artık gerekli olmamasıdır.
kdnic.sys yeni eklenen pf değerinin (141.0.1) bitmemesini sağlamak için loadoptions = NO_KDNIC {default} işletim sistemi etiketine eklendi
NO_KDNIC ayarlandığını onaylamak için bcdedit komutunu kullanın.
C:\KDNET> bcdedit /enum {default}
Windows Boot Loader
-------------------
identifier {current}
device partition=C:
path \Windows\system32\winload.efi
description Windows Server
locale en-US
loadoptions NO_KDNIC
inherit {bootloadersettings}
recoverysequence {c23c4005d-12ae-11eb-9399-ac9840c152e7}
displaymessageoverride Recovery
recoveryenabled Yes
bootdebug No
testsigning Yes
isolatedcontext Yes
flightsigning Yes
allowedinmemorysettings 0x15000075
osdevice partition=C:
systemroot \Windows
resumeobject {c23c4005d-12ae-11eb-9399-ac9840c152e7}
nx OptOut
debug Yes
hypervisordebug No
2. Run the bcdedit /enum command to display the generated key.
```console
C:\KDNET> bcdedit /dbgsettings
busparams 141.0.1
key 2steg4fzbj2sz.23418vzkd4ko3.1g34ou07z4pev.1sp3yo9yz874p
debugtype NET
hostip 198.51.100.1
port 50001
dhcp Yes
The operation completed successfully.
Döndürülen anahtarı Not Defteri'nde .txt biçiminde bir dosyaya kopyalayın. Gösterilen örnekte, oluşturulan anahtarın değeri:
2steg4fzbj2sz.23418vzkd4ko3.1g34ou07z4pev.1sp3yo9yz874pİsteğe bağlı olarak, birden çok fiziksel işlevin etkinleştirildiğini onaylamak için kdnet.exe kullanın.
C:\KDNET> kdnet.exe
Network debugging is supported on the following NICs:
busparams=141.0.0, Mellanox ConnectX-4 Lx Ethernet Adapter #2, Plugged in, Primary function, multiple physical functions are enabled.
busparams=141.0.1, Mellanox ConnectX-4 Lx Ethernet Adapter, KDNET is running on this NIC, Secondary function.
Network debugging is supported on the following USB controllers:
busparams=128.15.0, Standard USB 3.0 eXtensible Host Controller - 1.0 (Microsoft)
busparams=0.15.0, Standard USB 3.0 eXtensible Host Controller - 1.0 (Microsoft)
busparams=128.15.1, Standard USB 3.0 eXtensible Host Controller - 1.0 (Microsoft)
busparams=0.15.1, Standard USB 3.0 eXtensible Host Controller - 1.0 (Microsoft)
Host üzerinde güvenlik duvarını devre dışı bırak
Konakta, hata ayıklayıcı bağlantı noktası için güvenlik duvarını devre dışı bırakı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ıklama öğesini seçin. Çekirdek Hata Ayıklama iletişim kutusunda Ağ sekmesini açın. Daha önce not defteri .txt dosyasına kaydettiğiniz bağlantı noktası numaranızı ve anahtarınızı yapıştırın. Tamam'ı seçin.
Ayrıca, bir Komut İstemi penceresi açarak ve aşağıdaki komutu girerek bir WinDbg oturumu başlatabilirsiniz; burada
windbg -k -d net:port=<YourDebugPort>,key=<YourKey>
Hedef bilgisayarı yeniden başlatın
Hata ayıklayıcı bağlandıktan sonra hedef bilgisayarı yeniden başlatın. Bilgisayarı yeniden başlatmanın bir yolu, yöneticinin komut istemindeki shutdown -r -t 0 komutu kullanmaktır.
Hedef bilgisayar yeniden başlatıldıktan sonra hata ayıklayıcının otomatik olarak bağlanması gerekir.
Makine yeniden başlatıldıktan sonra, NIC üretici yazılımı yeni eklenen KDNET PF'ye yeni bir MAC adresi atar ve dbgsettings::busparams yeni eklenen PF'yi gösterir.
2PF bağdaştırıcısının MAC adresini bulma
Yeni eklenen PF, PCI veri yolu yapılandırılmış bir bağlantı noktası olduğundan, NIC üretici yazılımı tarafından yeni eklenen PF'ye atanmış yeni bir MAC adresi değeri olacaktır. kdnet.exe aracı şu anda eklenen 2PF için MAC adresinin görüntülenmesini desteklemiyor.
Yeni MAC adresini bulmanın iki yolu vardır:
Yerel KD oturumuyla WinDbg/KD kullanma
Hedefte windbg.exe -kl yerel çekirdek hata ayıklayıcısını çalıştırın.
.reload /f kdnet.dll komutunu çalıştırarak kdnet.pdb sembol dosyasına erişiminiz olduğundan emin olun
MAC adresini almak için .kdtargetmac komutunu çalıştırın.
kd> .kdtargetmac
Force unload of kdnet.dll
ModLoad: fffff800`18510000 fffff800`18557000 kdnet.dll
Loading symbols for fffff800`18510000 kdnet.dll -> kdnet.dll
The target machine MAC address in open-device format is: DC9840C151E8
Satıcı tarafından sağlanan üretici yazılımı araçlarını çalıştırın.
MAC adresini bulmanın bir yolu, satıcı tarafından sağlanan üretici yazılımı araçlarını çalıştırmaktır. Satıcı araçlarını indirme, yükleme ve kullanma hakkında bilgi için NIC satıcısına başvurun.
...
Base MAC: 98039baa757c 4
MAC adresi alanını bulun. KDNET 2PF MAC adres değerini, kök MAC cihazının son basamağını sırayla bir artırarak hesaplayın. Bu nedenle adresi 98039baa757colan kök cihaz için KDNET 2PF cihazının 98039baa757dadresi olacaktır.
Önceki yapılandırma durumunu geri yükleme - İkinci PCI PF'yi kaldırma
Önceden eklenen PF'yi bir cihazdan kaldırmak için kdnet -removepf seçeneğini ve özgün bus.device.function değerini kullanabilirsiniz. PF, NIC'den ayrılır ve PF tarafından atanan kaynak NIC üretici yazılımı tarafından serbest bırakılır.
KDNET PF'yi cihazdan kaldırmak için yükseltilmiş bir komut istemi açın ve aşağıdaki komutu çalıştırın.
kdnet -removepf [bus.dev.fun] [host name/host ip address] [port number]
Burada bus.dev.fun , PF'nin ilk olarak eklendiği NIC bağdaştırıcısının PCI konum bağlantı noktasıdır. Bu, başlangıçta kdnet -addpf'ye geçirilen aynı PCI konumudur.
-removepf seçeneğinin kullanılması, özgün bus.dev.fun KDNET üzerinden çekirdek hata ayıklamasını yeniden etkinleştirir.
C:\KDNET> kdnet -removepf 141.0.0 198.51.100.1 50001
Succeeded removing a Pci PF on :141.0.0. Please power off or reboot the machine.
Enabling network debugging on Mellanox ConnectX-4 Lx Ethernet Adapter #2.
Manage-bde.exe not present. Bitlocker presumed disabled.
kdnet.exe -removepf komutu, KDNET özgün bus.dev.fun üzerinde etkinleştirileceğinden, yani dbgsettings::busparams özgün ağ bağlantı noktasına işaret edeceğinden, işletim sistemi {default} yükleme seçeneklerinden NO_KDNIC özniteliğini de kaldırır. Bu, KDNET'in yeniden kullanılmasına neden olur ve KDNET'in üzerinde yeniden bir ağ bağlantısı sağlar.
PF kaldırıldıktan sonra BCD değişikliklerinin uygulanması için makinenin yeniden başlatılması gerekir.
shutdown -r -t 0
Ana bilgisayar bağdaştırıcısı yapılandırması sorunlarını çözme
2PF bağdaştırıcısının cihaz yöneticisinde mevcut olduğunu doğrulayın
Yeni NIC bağdaştırıcısının Windows Cihaz Yöneticisi bağdaştırıcı listesinde yeni bir bus.dev.fun bağlantı noktası olduğunu denetleyerek KDNET PF'sinin başarıyla eklendiğini doğrulayabilirsiniz.
Bu diyagramda, çekirdek hata ayıklayıcısı tarafından kullanılmak üzere ayrılmış #2 numaralı bağdaştırıcının da bulunduğu üç farklı bağdaştırıcı gösterilmektedir.
Yaygın hata iletileri - yeni PF ekleme
C:\KDNET> kdnet -addpf 28.0.0 192.168.137.1 50005
Device Name:\\.\Mlx5Util
Pci Bus:28.0.0
PCI PF şu bağlantı noktasında zaten yapılandırılmış: Hata ayıklama cihazında Error=(0x80004004) Başarısız PF işlemi. Hata ayıklama cihazı KDNET için yapılandırılmamış.
- Zaten PF olarak eklenmiş olan kök bağlantı noktasına PF eklemeyin veya mevcut PF'yi kaldırmayın.
Yaygın hata iletileri - PF'yi kaldırma
C:\KDNET> kdnet -removepf 28.0.1 192.168.137.1 50005
Adapter is not active: Error=(0x80070002)
Device Name:\\.\Mlx5Util
Pci Bus:28.0.1
Bağdaştırıcı etkin değil: Hata ayıklama cihazında Error=(0x80070002) Başarısız PF işlemi. Hata ayıklama cihazı KDNET için yapılandırılmamış
- "-removepf/-addpf" komut satırı parametresiyle eklenmiş bir PF bağlantı noktası kullanmayın, çünkü eklenen PF bağlantı noktasındaki herhangi bir işlem hataya neden olur (hata: Bağdaştırıcı bağlantı noktasında etkin değil), çünkü satıcı NIC gelen kutusu sürücüsü açıkça eklenen bir PF'de çalıştırılmayacak şekilde ayarlanmıştır.
- Her iki komut satırı seçeneği de (-addpf/-removepf) yalnızca kök PCI cihazında kullanılmalıdır.
C:\KDNET> kdnet -removepf 28.0.0 192.168.137.1 50005
Device Name:\\.\Mlx5Util
Pci Bus:28.0.0
Bu bağlantı noktasında kaldırılacak PCI PF yok: Hata ayıklama cihazında Error=(0x80004005) Başarısız PF işlemi. Hata ayıklama cihazı KDNET için yapılandırılmamış
- Yeni bir PF ekleyip yeniden başlatmadan kaldırmaya karar verirseniz, satıcı NIC üretici yazılımı, yeni eklenen PF'yi tanıyabilmesi için NIC donanımının yeniden başlatılmasını veya sıfırlanmasını gerektirdiğinden hata oluşur.
Yaygın hata iletileri - BCDEdit
NO_KDNIC BCD işletim sistemi {default} yüklemesinde yok .
- Yeni bir PF ekledikten sonra hata ayıklama cihazını (dbgsettings) değiştirmek/değiştirmek için bcdedit.exe kullanılması önerilmez. kdnet -addpf/removepf komut satırı seçenekleri, hata ayıklama cihazını yapılandıracak ve ayrıca
{default}::loadoptions'e otomatik olarakNO_KDNICbelirteç ekleyecek veya kaldıracaktır.
Ayrıca bkz.
Otomatik olarak KDNET Ağ Çekirdeği Hata Ayıklamasını Ayarlama
KDNET Ağ Çekirdeği Hata Ayıklama Ayarlarını Elle Yapılandırma
USB 3.0 xHCI-DBC çekirdek modu hata ayıklama (KDUSB) ayarlama
USB KDNET EEM Kernel-Mode Hata Ayıklama Kurulumu (KDNET-EEM-USB)