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.
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 –