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.
Bu, hata ayıklayıcı komutlarının kullanımını açıklar. WinDbg, kilitlenme dökümlerini analiz etmek, canlı kullanıcı modu ve çekirdek modu kodunda hata ayıklamak ve CPU yazmaçlarını ve belleği incelemek için kullanılabilen bir hata ayıklayıcısıdır. Daha fazla bilgi için bkz. WinDbg'ye Genel Bakış.
Hata ayıklayıcısını yüklemek için bkz. Windows hata ayıklayıcısını yükleme.
WinDbg'yi kullanmaya başlamak için bkz. Windows Hata Ayıklama ile Çalışmaya Başlama.
WinDbg Hata Ayıklayıcısı Komut penceresi
WinDbg için "Hata Ayıklayıcı Komut penceresi", başlık çubuğunda "Komut" olarak etiketlenmiş pencereyi ifade eder. Bu pencere iki bölme içerir:
Küçük, alt bölmede komutları girersiniz.
Büyük, üst bölmede komut çıkışını görüntülersiniz.
Bu pencere her zaman hata ayıklama oturumunun başında açıktır.
Görünüm menüsünde Komut'a tıklayarak, ALT+1 tuşlarına basarak veya Komut (Alt+1) düğmesini (
) seçerek bu pencereyi yeniden açabilir veya bu pencereye geçebilirsiniz.
Komut geçmişinde gezinmek için YUKARI OK ve AŞAĞI OK tuşlarını kullanabilirsiniz. Önceki bir komut görüntülendiğinde, bu komutu düzenleyebilir ve enter tuşuna basarak önceki komutu (veya önceki komutun düzenlenmiş sürümünü) yürütebilirsiniz. Bu yordamın düzgün çalışması için imlecin satırın sonunda olması gerekmez.
KD veya CDB
KD veya CDB için "Hata Ayıklayıcı Komut penceresi" tüm pencereyi ifade eder. Komutları pencerenin en altındaki istemde girersiniz. Komutlarda herhangi bir çıkış varsa, pencere çıkışı görüntüler ve ardından istemi yeniden görüntüler.
Hata Ayıklayıcı Komut İstemi
Kullanıcı modu hata ayıklaması gerçekleştirirken Hata Ayıklayıcı Komut penceresindeki istem aşağıdaki örneğe benzer.
2:005>
Yukarıdaki örnekte, 2 geçerli işlem numarasıdır ve 005 geçerli iş parçacığı numarasıdır.
Hata ayıklayıcıyı birden fazla bilgisayara eklerseniz, sistem numarası aşağıdaki örnekte olduğu gibi işlem ve iş parçacığı numarasından önce eklenir.
3:2:005>
Bu örnekte, 3 geçerli sistem numarası, 2 geçerli işlem numarası ve 005 geçerli iş parçacığı numarasıdır.
Yalnızca bir işlemcisi olan bir hedef bilgisayarda çekirdek modu hata ayıklaması gerçekleştirirken, istem aşağıdaki örneğe benzer şekilde görünür.
kd>
Ancak, hedef bilgisayarda birden çok işlemci varsa, aşağıdaki örnekte olduğu gibi geçerli işlemcinin sayısı istemden önce görünür.
0: kd>
Hata ayıklayıcı daha önce verilen bir komutu işlemekle meşgulse, yeni komutlar komut arabelleğine eklenebilse de geçici olarak işlenmez. Ayrıca, KD ve CDB'de denetim tuşlarını kullanmaya devam edebilir ve WinDbg'de menü komutlarını ve kısayol tuşlarını kullanmaya devam edebilirsiniz. KD veya CDB bu meşgul durumda olduğunda, hiçbir istem görüntülenmez. WinDbg bu meşgul durumdayken, istem yerine aşağıdaki gösterge görüntülenir:
*BUSY*
Bu komut istemine metin eklemek için .pcmd (komut istemini ayarla) komutunu kullanabilirsiniz.
Komut Türleri
WinDbg, KD ve CDB çeşitli komutları destekler. Bazı komutlar hata ayıklayıcıları arasında paylaşılır ve bazıları yalnızca bir veya iki hata ayıklayıcıda kullanılabilir.
Bazı komutlar yalnızca canlı hata ayıklamada, diğer komutlar ise yalnızca döküm dosyasında hata ayıkladığınızda kullanılabilir.
Bazı komutlar yalnızca kullanıcı modu hata ayıklaması sırasında, diğer komutlar ise yalnızca çekirdek modunda hata ayıklama sırasında kullanılabilir.
Bazı komutlar yalnızca hedef belirli işlemcilerde çalışırken kullanılabilir. Tüm komutlar ve kısıtlamaları hakkında daha fazla bilgi için bkz. Hata Ayıklayıcı Komutları.
Komutları Düzenleme, Yineleme ve İptal Etme
Bir komut girdiğinizde standart düzenleme tuşlarını kullanabilirsiniz:
Önceki komutları bulmak için YUKARI OK ve AŞAĞI OK tuşlarını kullanın.
Geçerli komutu GERİ AL, DELETE, INSERT ve SOL OK ve SAĞ OK tuşlarıyla düzenleyin.
Geçerli satırı temizlemek için ESC tuşuna basın.
Metin girdinizi otomatik olarak tamamlamak için SEKME tuşuna basabilirsiniz. Hata ayıklayıcılarından herhangi birinde, komutu otomatik olarak tamamlamak için en az bir karakter girdikten sonra SEKME tuşuna basın. Metin tamamlama seçenekleri arasında geçiş yapmak için SEKME tuşuna art arda basın ve SHIFT tuşunu basılı tutarak geriye doğru ilerlemek için SEKME tuşuna basın. Ayrıca metinde joker karakterler kullanabilir ve SEKME tuşuna basarak metin tamamlama seçeneklerinin tamamını genişletebilirsiniz. Örneğin, fo*!ba yazıp SEKME tuşuna basarsanız, hata ayıklayıcı "fo" ile başlayan modül adlarına sahip tüm modüllerde "ba" ile başlayan tüm simgelerin kümesine genişletir. Başka bir örnek olarak, içinde "prcb" bulunan tüm uzantı komutlarını !*prcb yazıp SEKME tuşuna basarak tamamlayabilirsiniz.
Metin tamamlama işlemi gerçekleştirmek için SEKME tuşunu kullandığınızda, metin parçanız noktayla (.) başlıyorsa, metin bir nokta komutuyla eşleştirilir. Metin parçanız bir ünlem işareti (!) ile başlıyorsa, metin bir uzantı komutuyla eşleştirilir. Aksi takdirde, metin bir simgeyle eşleştirilir. Simgeleri girmek için SEKME tuşunu kullandığınızda, SEKME tuşuna basıldığında kod ve tür simgeleri ile modül adları tamamlar. Görünür bir modül adı yoksa, yerel simgeler ve modül adları tamamlanır. Bir modül veya modül deseni verilirse, sembol tamamlama tüm eşleşmelerde bulunan kod ve tür sembollerini tamamlar.
Komut yazarken panonun içeriğini otomatik olarak yapıştırmak için Hata Ayıklayıcı Komut penceresinde bir öğeyi seçip basılı tutabilir veya sağ tıklayabilirsiniz.
Komut uzunluğu üst sınırı 4096 karakterdir. Ancak, çekirdek hata ayıklayıcısından kullanıcı modu hata ayıklayıcısını kontrol ediyorsanız, en fazla satır uzunluğu 512 karakterdir.
CDB ve KD'de, önceki komutu yinelemek için ENTER tuşuna tek başına basın. WinDbg'de bu davranışı etkinleştirebilir veya devre dışı bırakabilirsiniz. Bu davranış hakkında daha fazla bilgi için bkz. ENTER (Son Komutu Yinele).
Yayımladığınız son komut uzun bir ekran gösteriyorsa ve bunu kesmek istiyorsanız CDB veya KD'de CTRL+C tuşlarını kullanın. WinDbg'de Hata Ayıklama | Kes seçeneğini kullanın veya CTRL+BREAK tuşlarına basın.
Çekirdek modunda hata ayıklamada, CTRL+C tuşlarına basarak komutları hedef bilgisayarın klavyesinden iptal edebilirsiniz.
Hata Ayıklayıcı Komut penceresindeki metnin tümünü temizlemek için .cls (Ekranı Temizle) komutunu kullanabilirsiniz. Bu komut, tüm komut geçmişini temizler. WinDbg'de Düzenle | komutunu kullanarak komut geçmişini temizleyebilirsiniz Komut Çıktısı komutunu temizleyin veya Hata Ayıklayıcısı Komut penceresinin kısayol menüsünde Komut çıktısını temizle'yi seçin.
İfade Söz Dizimi
Birçok komut ve uzantı komutu, ifadeleri bağımsız değişkenleri olarak kabul eder. Hata ayıklayıcı, komutu yürütmeden önce bu ifadeleri değerlendirir. İfadeler hakkında daha fazla bilgi için bkz . İfadeleri Değerlendirme.
Takma Adlar
Takma adlar, karmaşık ifadeleri yeniden yazmaktan kaçınmak için kullanabileceğiniz metin makrolarıdır. Takma adların iki türü vardır. Diğer adlar hakkında daha fazla bilgi için bkz. Diğer Adları Kullanma.
Self-Repeating Komutları
Bir eylemi yinelemek veya diğer komutları koşullu olarak yürütmek için aşağıdaki komutları kullanabilirsiniz:
j (Execute If-Else) koşullu komutu
z (Execute While) koşullu komutu
~e (Thread-Specific Komutu) komut niteleyicisi
!list uzantı komutu
Her komut hakkında daha fazla bilgi için tek tek komut konularına bakın.
Kaydırmayı Denetleme
Önceki komutlarınızı ve bunların çıkışını görüntülemek için kaydırma çubuğunu kullanabilirsiniz.
CDB veya KD kullanırken, herhangi bir klavye girdisi otomatik olarak Hata Ayıklayıcı Komutu penceresini en alta doğru kaydırır.
WinDbg'de, bir komut çıktı ürettiğinde veya ENTER tuşuna bastığınızda ekran otomatik olarak aşağı kaydırır. Bu otomatik kaydırmayı devre dışı bırakmak istiyorsanız, Görünüm menüsünde Seçenekler'i seçin ve otomatik olarak kaydır onay kutusunun işaretini kaldırın.
WinDbg Metin Özellikleri
WinDbg'de, Hata Ayıklayıcı Komut penceresinde metnin görüntülenme biçimini değiştirmek için birkaç ek özellik kullanabilirsiniz. Bu özelliklerden bazılara WinDbg penceresinde, bazıları Hata Ayıklayıcı Komut penceresindeki kısayol menüsünde, bazıları ise uygun menü simgesini seçerek erişebilirsiniz.
Kısayol menüsündeki Sözcük kaydırma komutu sözcük kaydırma durumunu açar ve kapatır. Bu komut yalnızca bu durum değiştirildikten sonra kullandığınız komutları değil tüm pencereyi etkiler. Birçok komut ve uzantı biçimlendirilmiş ekranlar ürettiği için genellikle sözcük kaydırma önerilmez.
Düzenle | Komut Çıktısı menüsüne ekle komutu, Hata Ayıklayıcı Komut penceresine bir açıklama ekler. Kısayol menüsündeki Komut çıkışına ekle komutu aynı etkiye sahiptir.
Metin için kullanılan renkleri ve Hata Ayıklayıcı Komut penceresinin arka planını özelleştirebilirsiniz. Farklı metin türleri için farklı renkler belirtebilirsiniz. Örneğin, otomatik yazmaç çıkışını bir renkte, hata iletilerini başka bir renkte ve DbgPrint iletilerini üçüncü bir renkte görüntüleyebilirsiniz.
WinDbg'nin hata ayıklama bilgileri pencerelerinde ortak olan yazı tiplerini özelleştirme ve özel düzenleme komutlarını kullanma gibi tüm özellikleri kullanabilirsiniz.
Uzaktan Hata Ayıklama
Hata ayıklayıcı aracılığıyla uzaktan hata ayıklama gerçekleştirirken, hata ayıklama istemcisi sınırlı sayıda komuta erişebilir. İstemcinin erişebileceği komut sayısını değiştirmek için -clineskomut satırı seçeneğini veya _NT_DEBUG_HISTORY_SIZE ortam değişkenini kullanın.