Aracılığıyla paylaş


WinDbg Kullanarak Canlı Kernel-Mode Hata Ayıklama (Klasik)

Canlı çekirdek modu hata ayıklama oturumu başlatmak için WinDbg'yi kullanmanın iki yolu vardır.

WinDbg Menüsü

WinDbg uyku modundayken, Dosya menüsünden Çekirdek Hata Ayıklama'yı seçerek veya CTRL+K tuşlarına basarak çekirdek hata ayıklama oturumu başlatabilirsiniz. Çekirdek Hata Ayıklama iletişim kutusu görüntülendiğinde uygun sekmeye tıklayın: NET, COM, USB veya Yerel. Her sekme farklı bir bağlantı yöntemi belirtir.

Komut İstemi

Komut İstemi penceresinde, WinDbg'yi başlattığınızda çekirdek modu hata ayıklama oturumu başlatabilirsiniz. Aşağıdaki komutlardan birini girin:

windbg [-y SymbolPath] -k net:port=PortNumber,key=Key[,target=TargetIPAddress|TargetMachineName]

windbg [-y SymbolPath] -k usb:targetname=USBString

windbg [-y SymbolPath] -k com:port=ComPort,baud=BaudRate

windbg [-y SymbolPath] -k com:ipport=SerialTcpIpPort,port=SerialIPAddress

windbg [-y SymbolPath] -k com:pipe,port=\\VMHost\pipe\PipeName[,resets=0][,reconnect]

windbg [-y SymbolPath] -k com:modem

windbg [-y SymbolPath] -kl

windbg [-y SymbolPath] -k

Daha fazla bilgi için bkz. WinDbg Command-Line Seçenekleri.

Ortam Değişkenleri

Bir seri (COM bağlantı noktası) üzerinden hata ayıklama için, bağlantı ayarlarını belirtmek için ortam değişkenlerini kullanabilirsiniz.

Seri bağlantı belirtmek için aşağıdaki değişkenleri kullanın.

set _NT_DEBUG_PORT = ComPort

set _NT_DEBUG_BAUD_RATE = BaudRate

Daha fazla bilgi için bkz. Kernel-Mode Ortam Değişkenleri.

Parametreler

SymbolPath
Sembol dosyalarının bulunduğu dizinlerin listesi. Listedeki dizinler noktalı virgülle ayrılır. Daha fazla bilgi için bkz . Sembol Yolu.

PortNumber
Ağ hata ayıklaması için kullanılacak bağlantı noktası numarası. 49152 ile 65535 arasında herhangi bir sayı seçebilirsiniz. Daha fazla bilgi için bkz. El ile Ağ Bağlantısı Kurma.

Anahtar
Ağ hata ayıklaması için kullanılacak şifreleme anahtarı. Hedef bilgisayarı yapılandırırken bcdedit tarafından sağlanan otomatik olarak oluşturulan bir anahtar kullanmanızı öneririz. Daha fazla bilgi için bkz. El ile Ağ Bağlantısı Kurma.

TargetIPAddress
Hedef makinenin IPv4 adresi.

target= IP adresi belirtildiğinde, bu hata ayıklayıcının hedefe özel bir paket göndererek belirtilen hedef makineye bağlantı başlatmasına neden olur ve bu da hata ayıklayıcıya bağlanmayı denemesine neden olur. Hata ayıklayıcı, bağlanmayı deneyerek yaklaşık yarım saniyede bir tekrar tekrar hedefe paket gönderir. Bağlantı başarılı olursa, hedef var olan tüm bağlantıları bırakır ve yalnızca hata ayıklayıcının bu örneğiyle iletişim kurar. Bu, hata ayıklama oturumunun denetimini var olan bir hata ayıklama bağlantısından uzaklaştırmanıza olanak tanır.

Hedef bir ana bilgisayar IP adresiyle yapılandırıldığında ve hata ayıklayıcı yapılandırılmış ana bilgisayar IP adresiyle makinede çalıştırılıyorsa target= IP adresi parametresini belirtmeniz gerekmez. Hedef cihaz bir ana bilgisayar IP adresiyle yapılandırıldığında, her üç saniyede bir ana bilgisayara OFFER paketlerini gönderir. OFFER paketleri, target= IP adresi belirtilmediğinde hata ayıklayıcının konağa bağlanmasına izin verir.

Hedefte konak IP adresini yapılandırma hakkında daha fazla bilgi için bkz. KDNET Ağ Çekirdeği Hata Ayıklamasını Otomatik Olarak Ayarlama ve KDNET Ağ Çekirdeği Hata Ayıklamayı El ile Ayarlama.

TargetMachineName
Hedef bilgisayarın makine adı. Makine adını kullanmak için, ağdaki DNS sisteminin hedef bilgisayarın IP adresiyle ilişkilendirilmiş makine adına sahip olması gerekir.

USBString
bir USB bağlantı dizesi. Bu, /targetname önyükleme seçeneğiyle belirtilen dizeyle eşleşmelidir. Daha fazla bilgi için bkz. USB 3.0 xHCI-DBC çekirdek modu hata ayıklamasını (KDUSB) ayarlama.

ComPort
COM bağlantı noktasının adı. Bu, "com2" biçiminde veya "\\.\com2" biçiminde olabilir, ancak yalnızca bir sayı olmamalıdır. Daha fazla bilgi için bkz. El ile Seri Bağlantı Kurma.

BaudRate
Baud hızı. Bu 9600, 19200, 38400, 57600 veya 115200 olabilir.

SerialTcpIpPort
Öykünülen seri COM portunun hedef TCP/IP bağlantı noktası.

SerialIPAddress
Öykünülen seri COM bağlantı noktasının hedef TCP IP adresi.

VMHost
Bir sanal makinede hata ayıklarken , VMHost sanal makinenin çalıştığı fiziksel bilgisayarın adını belirtir. Sanal makine, çekirdek hata ayıklayıcıyla aynı bilgisayarda çalışıyorsa VMHost için tek bir nokta (.) kullanın. Daha fazla bilgi için bkz. Sanal Makineye Bağlantı Kurma.

BoruAdı
Hata ayıklama bağlantısı için sanal makine tarafından oluşturulan kanalın adı.

sıfırlamalar=0
Ana bilgisayar ve hedef senkronize edilirken hedefe sınırsız sayıda sıfırlama paketi gönderilebileceğini belirtir. Bu parametre yalnızca belirli türlerdeki sanal makinelerde hata ayıklanırken gereklidir.

Yeniden bağlanma
Okuma/yazma hatası oluşursa hata ayıklayıcının bağlantının otomatik olarak kesilmesine ve kanala yeniden bağlanmasına neden olur. Ayrıca, hata ayıklayıcı başlatıldığında adlandırılmış kanal bulunamazsa, yeniden bağlanma parametresi bu addaki bir kanalın görünmesini beklemesine neden olur. Bu parametre yalnızca belirli türlerdeki sanal makinelerde hata ayıklanırken gereklidir.

-kl
Hata ayıklayıcının yerel çekirdek modunda hata ayıklama gerçekleştirmesine neden olur. Daha fazla bilgi için bkz. Yerel Kernel-Mode Hata Ayıklama.

Önceki sürüm parametreleri

Önemli

1394 aktarımı Windows 10, sürüm 1607 ve önceki sürümlerde kullanılabilir. Windows'un sonraki sürümlerinde kullanılamaz. Projelerinizi Ethernet kullanarak KDNET gibi diğer aktarımlara geçirmelisiniz. Bu aktarım hakkında daha fazla bilgi için bkz. KDNET Ağ Çekirdeği Hata Ayıklamayı Otomatik Olarak Ayarlama.

1394Şanel
1394 kanal numarası. Geçerli kanal numaraları 0 ile 62 arasında (dahil) herhangi bir tamsayıdır. 1394Channel hedef bilgisayar tarafından kullanılan sayıyla eşleşmelidir, ancak bağdaştırıcıda seçilen fiziksel 1394 bağlantı noktasına bağlı değildir.

1394Protocol
1394 çekirdek bağlantısı için kullanılacak bağlantı protokolü. Hata ayıklayıcı otomatik olarak doğru protokolü seçeceğinden, bu neredeyse her zaman atlanabilir. Bunu el ile ayarlamak istiyorsanız ve hedef bilgisayar Windows XP çalıştırıyorsa, 1394Protocol "kanala" eşit ayarlanmalıdır. Hedef bilgisayar Windows Server 2003 veya sonraki bir sürümü çalıştırıyorsa, 1394Protocol değeri "örneğe" eşit olmalıdır. Atlanırsa, hata ayıklayıcısı varsayılan olarak geçerli hedef bilgisayar için uygun protokolü kullanır. Bu, WinDbg grafik arabirimi aracılığıyla değil, yalnızca komut satırı veya ortam değişkenleri aracılığıyla belirtilebilir.

Örnekler

COM bağlantı noktası üzerinden bir hata ayıklama işlemini ayarlamak ve başlatmak için aşağıdaki toplu iş dosyası kullanılabilir.

set _NT_SYMBOL_PATH=d:\mysymbols
set _NT_DEBUG_PORT=com1
set _NT_DEBUG_BAUD_RATE=115200
set _NT_DEBUG_LOG_FILE_OPEN=d:\debuggers\logfile1.log
windbg -k

WinDbg'yi herhangi bir ortam değişkeni olmadan başlatmak için aşağıdaki komut satırları kullanılabilir.

windbg -y d:\mysymbols -k com:port=com2,baud=57600

windbg -y d:\mysymbols -k com:port=\\.\com2,baud=115200

windbg -y d:\mysymbols -k net:port=50000,key=AutoGeneratedKey

windbg -y d:\mysymbols -k net:port=50000,key=AutoGeneratedKey,target=TargetIPAddress

Ayrıca bakınız

WinDbg Command-Line Seçenekleri

ortam değişkenleriniKernel-Mode