Visual Studio hata ayıklayıcısında dosyaların dökümünü oluşturma

Döküm dosyası, yürütülmekte olan işlemi ve belirli bir noktada bir uygulama için yüklenen modülleri gösteren bir anlık görüntüdür. Yığın bilgilerine sahip bir döküm, bu noktada uygulamanın belleğinin anlık görüntüsünü de içerir.

Visual Studio'da yığınla döküm dosyası açmak, hata ayıklama oturumunda kesme noktasında durmaya benzer. Yürütmeye devam edemeseniz de döküm sırasında uygulamanın yığınlarını, iş parçacıklarını ve değişken değerlerini inceleyebilirsiniz.

Dökümler çoğunlukla geliştiricilerin erişimi olmayan makinelerdeki sorunlarda hata ayıklamak için kullanılır. Kilitlenme veya yanıt vermeyen bir programı kendi makinenizde yeniden oluşturamıyorsanız müşterinin makinesinden bir döküm dosyası kullanabilirsiniz. Test ediciler ayrıca kilitlenme veya yanıt vermeyen program verilerini daha fazla test için kullanmak üzere kaydetmek için dökümler oluşturur.

Visual Studio hata ayıklayıcı, yönetilen veya yerel kod için döküm dosyaları kaydedebilir. Visual Studio tarafından veya dosyaları minidump biçiminde kaydeden diğer uygulamalar tarafından oluşturulan döküm dosyalarının hatalarını ayıklayabilir.

Gereksinimler ve sınırlamalar

  • 64 bit makinelerdeki döküm dosyalarında hata ayıklamak için Visual Studio'nın 64 bit makinede çalışıyor olması gerekir.
  • Visual Studio, Linux işletim sisteminden yönetilen uygulamaların döküm dosyalarında hata ayıklayabilir.
  • Visual Studio, ARM cihazlarından yerel uygulamaların döküm dosyalarının hatalarını ayıklayabilir. Ayrıca ARM cihazlarından yönetilen uygulamaların dökümlerinde de hata ayıklayabilir, ancak yalnızca yerel hata ayıklayıcıda hata ayıklayabilir.
  • Çekirdek modu döküm dosyalarında hata ayıklamak veya Visual Studio'da SOS.dll hata ayıklama uzantısını kullanmak için Windows Sürücü Seti'nde (WDK) Windows için hata ayıklama araçlarını indirin.
  • Visual Studio, eski, tam kullanıcı modu döküm biçiminde kaydedilen döküm dosyalarının hatalarını ayıklayamaz. Tam kullanıcı modu dökümü, yığın içeren döküm ile aynı değildir.
  • En iyi duruma getirilmiş kodun döküm dosyalarının hatalarının ayıklanması kafa karıştırıcı olabilir. Örneğin, işlevlerin derleyicisi, beklenmeyen çağrı yığınlarına neden olabilir ve diğer iyileştirmeler değişkenlerin ömrünü değiştirebilir.

Yığınları olan veya olmayan dosyaların dökümünü al

Döküm dosyaları yığın bilgilerine sahip olabilir veya olmayabilir.

  • Yığınları olan döküm dosyaları, döküm sırasında değişkenlerin değerleri de dahil olmak üzere uygulamanın belleğinin anlık görüntüsünü içerir. Visual Studio ayrıca yüklenen yerel modüllerin ikili dosyalarını yığınla döküm dosyasına kaydeder ve bu da hata ayıklamayı çok daha kolay hale getirebilir. Visual Studio, bir uygulama ikili dosyasını bulamıyor olsa bile yığınla döküm dosyasından sembol yükleyebilir.

  • Yığınları olmayan döküm dosyaları yığınları olan dökümlerden çok daha küçüktür, ancak hata ayıklayıcının simge bilgilerini bulmak için uygulama ikili dosyalarını yüklemesi gerekir. Yüklenen ikili dosyaların döküm oluşturma sırasında çalışanlarla tam olarak eşleşmesi gerekir. Yığınları olmayan döküm dosyaları yalnızca yığın değişkenlerinin değerlerini kaydeder.

Döküm dosyası oluşturma

Visual Studio'da bir işlemde hata ayıklarken, hata ayıklayıcı bir özel durumda veya kesme noktasında durduğunda döküm dosyasını kaydedebilirsiniz.

Tam Zamanında Hata Ayıklama etkinleştirildiğinde, Visual Studio hata ayıklayıcısını Visual Studio dışında kilitlenen bir işleme ekleyebilir ve ardından hata ayıklayıcıdan döküm dosyasını kaydedebilirsiniz. Bkz . Çalışan işlemlere ekleme.

Döküm dosyasını kaydetmek için:

  1. Hata ayıklama sırasında bir hata veya kesme noktasında durdurulurken Dökümü Farklı Kaydet Hata Ayıklama'yı>seçin.

  2. Dökümü Farklı Kaydet iletişim kutusunda, Kayıt türü'nin altında Yığınla MiniDump veya MiniDump (varsayılan) seçeneğini belirleyin.

  3. Bir yola göz atın, döküm dosyası için bir ad seçin ve ardından Kaydet'i seçin.

Not

Döküm dosyalarını Windows minidump biçimini destekleyen herhangi bir programla oluşturabilirsiniz. Örneğin, Windows Sysinternals'ın Procdump komut satırı yardımcı programı tetikleyicilere veya isteğe bağlı olarak işlem kilitlenme dökümü dosyaları oluşturabilir. Döküm dosyaları oluşturmak için diğer araçları kullanma hakkında bilgi için bkz . Gereksinimler ve sınırlamalar .

Döküm dosyasını açma

  1. Visual Studio'da Dosya Aç Dosya'yı>> seçin.

  2. Dosya Aç iletişim kutusunda döküm dosyasını bulun ve seçin. Genellikle bir .dmp uzantısı olur. Tamam'ı seçin.

    MiniDump Dosya Özeti penceresinde döküm dosyasının özet ve modül bilgileri ile gerçekleştirebileceğiniz eylemler gösterilir.

    Minidump özet sayfasını gösteren ekran görüntüsü.

    Minidump özet sayfasını gösteren ekran görüntüsü.

  3. Eylemler altında:

    • Sembol yükleme konumlarını ayarlamak için Simge yollarını ayarla'yı seçin.
    • Hata ayıklamayı başlatmak için Yalnızca Yönetilen hata ayıklama, Karışık Hata Ayıklama, Yalnızca Yerel Hata Ayıklama veya Yönetilen Bellekte Hata Ayıklama'yı seçin. Yönetilen belleği analiz etmek için bkz . Yönetilen tür raporları.
    • Dökümde bellek analizi almak için Tanılama Analizini Çalıştır'ı seçin ve bkz. .NET Tanılama Çözümleyicileri ile yönetilen bellek dökümü hatalarını ayıklama.

.exe, .pdb ve kaynak dosyaları bulma

Döküm dosyasında tam hata ayıklama özelliklerini kullanmak için Visual Studio'ya şunlar gerekir:

  • Döküm dosyasının oluşturulduğu .exe dosyası ve döküm işleminin kullandığı diğer ikili dosyalar (DLL'ler gibi).
  • .exe ve diğer ikili dosyalar için sembol (.pdb) dosyaları.
  • Döküm oluşturma sırasında dosyaların sürümü ve derlemesi ile tam olarak eşleşen .exe ve .pdb dosyaları.
  • İlgili modüller için kaynak dosyalar. Kaynak dosyaları bulamazsanız modüllerin ayrıştırma özelliğini kullanabilirsiniz.

Dökümde yığın verileri varsa, Visual Studio bazı modüllerin eksik ikili dosyalarıyla başa çıkabilir, ancak geçerli çağrı yığınları oluşturmak için yeterli modül için ikili dosyalara sahip olmalıdır.

.exe dosyaları için arama yolları

Visual Studio döküm dosyasına dahil olmayan .exe dosyaları için otomatik olarak bu konumlarda arama yapıyor:

  1. Döküm dosyasını içeren klasör.
  2. Döküm dosyasının belirttiği modül yolu, dökümü toplayan makinedeki modül yoludur.
  3. Araçlar (veya Hata Ayıklama)> Seçenekleri>Hata Ayıklama>Simgeleri'nde belirtilen sembol yolları. Döküm Dosyası Özeti penceresinin Eylemler panelinden Simgeler sayfasını da açabilirsiniz. Bu sayfada, aramaya daha fazla konum ekleyebilirsiniz.

İkili Dosya Yok, Simge Yok veya Kaynak Bulunamadı sayfalarını kullanma

Visual Studio dökümdeki bir modülde hata ayıklamak için ihtiyaç duyduğu dosyaları bulamazsa, bir İkili Bulunamadı, Simge Bulunamadı veya Kaynak Bulunamadı sayfası gösterir. Bu sayfalar sorunun nedeni hakkında ayrıntılı bilgi sağlar ve dosyaları bulmanıza yardımcı olabilecek eylem bağlantıları sağlar. Bkz . Simge (.pdb) ve kaynak dosyaları belirtme.