2010-04-16 15 views
5

WinDbg'de özel bir tema ayarlamak için Tess Ferrandez' blog'u takip ettim. WinDbg'de başlangıçta '.cmdtree' pencere kenarı nasıl yapabilirim?

Ben de otomatik ile WinDbg'yi başlatılması başladık -c ".cmdtree c: \ mycmdtree.txt"

Bu doğru bir komutlar pencere olarak benim cmdtree dosyasını açar, ama düzgün yerleştirmek için alınamıyor. Sorun, 'komutlar' pencerelerinin sadece bir DMP dosyasını açtıktan sonra açılabileceğidir, ancak bir DMP dosyasını açmak sizi 'taban' çalışma alanından çıkarır, bu nedenle çalışma alanınızdaki herhangi bir değişiklik kaydedilmez.

Herhangi bir fikrin var mı?

+0

Pencereyi yerleştirmeyi, verilen yanıtla ayarlamayı gerçekten yönetdiniz mi? 2 tane sorunum var: a) rıhtıyor, ama sevdiğim pozisyonda değil ve b) her zaman ikinci bir pencere var –

cevap

7

Bu basit istek gerçekten karmaşıktır. WinDbg'nin pencere konumları bir çalışma alanına kaydedilir. WinDbg birkaç varsayılan çalışma alanı vardır:

  • Taban - bu hata ayıklama başlamadan önce kullanılır çalışma alanıdır (açık hiçbir dökümü hiçbir şeye bağlı değil hiçbir exe açık,) dökümü dosyasında Başına
  • - her biri için bırakırlar açık, bu dosya için bir çalışma alanınız var
  • Yürütülebilir dosya için - Açtığınız her bir yürütülebilir dosya için.
  • Kullanıcı modu - canlı kullanıcı modu hata ayıklama olduğunda kullanılan
  • Çekirdek-mod - çekirdek modu ayıklama
  • makine mimarisinde Başına
  • olduğunda kullanılır - 1 x64 için, x86 1, & 1 IA64 için
  • uzaktan - debug verilen herhangi bir türü için uzaktan hata ayıklama

olduğunda kullanılan (yani Canlı kullanıcı modu veya otopsi dökümü analizi) genellikle Base + sizin tip ayarından bir kombinasyonu ile bitirmek hata ayıklama Bir döküm dosyası açarsanız

, size kullanıcı modu hata ayıklama yaşıyorsanız, bir x64 makine hata ayıklama çekirdek yaşıyorsanız, BASE + Kullanıcı modu olsun BAZ + kernel- olsun dökümü dosyasında Başına BAZ + olsun mod + x64

Belirli bir modda yaptığınız tüm değişiklikler en son çakışan çalışma alanına kaydedilir. Bu, bir döküm dosyasını açarsak (bu yüzden Temel + Başına Döküm), bu dökümün çalışma alanındaki ayarlarda herhangi bir değişiklik kaydedileceği anlamına gelir.

Yerleşik çalışma alanlarına ve tüm kombinasyonlarına ek olarak, adlandırılmış (müşteri) çalışma alanları vardır. Bunlar, Dosya> Çalışma Alanını Kaydet'e gittiğinizde ve -W komut satırı argümanını kullanarak Windbg'nin başlatılmasıyla etkinleştirebileceğiniz tüm ayarları kaydetmek için bir ad sağlar.

Sorunuza geri dön. Açmak için .cmdtree'yi nasıl alabilirim? Temel çalışma alanında yapamazsınız. Pencerelerin çoğu sadece hata ayıklayıcı uyku durumunda (BASE çalışma alanında) DEĞİLSE kullanılabilir. Hata ayıklayıcısını aktif durumlarına getirdikten sonra, bu pencereler kullanılabilir.

Karşılaştığınız sorun, her şeyi istediğiniz gibi kurmak için hata ayıklayıcısını aktif durumda (exe açık, boşaltma açık, canlı hata ayıklama) ve pencere düzenini kaydetmek, aynı zamanda hangi açıkta olduğunuzu veya döktüğünüzü veya yaptığınız hata ayıklamayı da kaydedecektir.

Yapmanız gereken en iyi şey, yalnızca yapmakta olduğunuz şeyi yapmaktır, bu yalnızca kayıt defterinde -c'yi kullanmaktır (HKEY_CLASSES_ROOT \ WinDbg.DumpFile.1 \ shell \ Open \ command). Bu, dökümü analiz etmek için her defasında bir çöp kutusuna çift tıklamanız ve bu komut satırı seçeneklerini almanızı sağlayacaktır. Daha sonra komut satırını da içeren windbg için bir kısayol oluşturabilirsiniz, böylece bu ayarlar yaptığınız diğer hata ayıklama işlemlerine uygulanacaktır.

"C: \ hata düzeltici \ 64 \ windbg.exe" Burada

yukarıda regkey benim komut satırı "% 1" -Q -W iç -c" .Load winde.dll -z; .enable_unicode 1; .ignore_missing_pages 1; .logopen/t C: \ Users \ jasone \ Logs \ debug.log; aS .p .process/p/r; aS .tread/p/r; aS! p! işlemi aS! t! thread; aS .f .frame; aS dv dv/V/i/t; aS .f. frame "

Bu ne yapar?

Hata ayıklayıcısını başlatır, dökümü dosyaya ekler, çalışma alanı ayarlarını kaydetmeye hayır iletisi, "Dahili" çalışma alanını (oluşturduğum adlandırılmış bir çalışma alanı) açın ve hata ayıklayıcı uzantılarını, kurulum tercihlerini yüklemek ve bu takma adları oluşturmak için bu komutları çalıştırın. hayatımı kolaylaştır.

İlgili konular