Aracılığıyla paylaş


Çağrı yığınını görüntüleyin ve hata ayıklayıcıda Çağrı Yığını penceresini kullanın

Çağrı Yığını penceresini kullanarak, yığında bulunan işlev veya yordam çağrılarını görüntüleyebilirsiniz. Çağrı Yığını penceresi, yöntemlerin ve işlevlerin çağrılma sırasını gösterir. Çağrı yığını, bir uygulamanın yürütme akışını incelemek ve anlamak için iyi bir yoldur.

hata ayıklama simgeleri bir çağrı yığınının bir parçası için kullanılamadığında, Çağrı Yığını penceresi çağrı yığınının bu bölümü için doğru bilgileri görüntüleyemeyebilir ve bunun yerine şunu görüntüleyemeyebilir:

[Frames below may be incorrect and/or missing, no symbols loaded for name.dll]

Not

Gördüğünüz iletişim kutuları ve menü komutları, etkin ayarlarınıza veya sürümünüze bağlı olarak burada açıklananlardan farklı olabilir. Ayarlarınızı değiştirmek için Araçları menüsünden ayarları içeri ve dışarı aktarma seçin. bkz. Tüm ayarları sıfırlama. Çağrı Yığını penceresi, Eclipse gibi bazı IDE'lerdeki Hata Ayıklama perspektifine benzerlik gösterir.

Hata ayıklayıcıdayken çağrı yığınını görüntüleme

Hata ayıklarken, Hata Ayıklama menüsünde Windows > Çağrı Yığını seçin veya ctrl+alt+Ctuşuna basın.

Not

Windows > Çağrı Yığınında Hata Ayıkla > menü seçeneği yalnızca etkin bir hata ayıklama oturumu sırasında kullanılabilir. Önce hata ayıklamayı başlatın (örneğin, F5 tuşuna basarak veya Hata Ayıklamayı > Başlat Hata Ayıklama'yı seçerek) ve ardından Çağrı Yığını penceresini açmadan önce yürütmeyi kesme noktasında duraklatın.

Çağrı Yığını Penceresini gösteren ekran görüntüsü. Ok, yürütme işaretçisinin bulunduğu yığın çerçevesini tanımlar. Varsayılan olarak, bu yığın çerçevesinin bilgileri kaynakta Locals, Autos, Watchve Disassembly pencerelerinde görünür. Hata ayıklayıcısı bağlamını yığındaki başka bir çerçeveyle değiştirmek için başka bir yığın çerçevesine geçin.

Çağrı Yığını Penceresini gösteren ekran görüntüsü. Ok, yürütme işaretçisinin bulunduğu yığın çerçevesini tanımlar. Varsayılan olarak, bu yığın çerçevesinin bilgileri kaynakta Locals, Autos, Watchve Disassembly pencerelerinde görünür. Hata ayıklayıcısı bağlamını yığındaki başka bir çerçeveyle değiştirmek için başka bir yığın çerçevesine geçin.

Hata ayıklama sırasında çağrı yığınında özel durum yığını çerçevelerini de görüntüleyebilirsiniz. Daha fazla bilgi için bkz. Özel durum yardımcısıçağrı yığınını görüntüleme.

Copilot ile çağrı yığınını analiz etme

Çağrı Yığını penceresi bağlamında mevcut hata ayıklama durumunuzun yapay zeka destekli analizini alabilirsiniz. Bu özellik şu soruyu yanıtlamaya yardımcı olur: İş parçacığım veya uygulamam şu anda ne yapıyor? Tek tıklamayla Copilot ile Çözümle düğmesi geçerli hata ayıklama durumunu Copilot'a gönderir ve uygulama durumu analiziyle Sohbet penceresini açar; hata ayıklama bağlamınızı el ile açıklamanız gerekmez.

Bu özelliği kullanmadan önce Copilot'ın etkinleştirildiğinden ve uygulamanızın hata ayıklayıcıda duraklatılmış olduğundan emin olun.

Çağrı yığınını analiz etmek için:

  1. Copilot, zaman uyumsuz bir görevde bekleyen bir çerçeve veya zaman uyumsuz işlemler sırasında yürütmenin başarısız olması gibi bir çağrı yığını sorunu tanımladığında, Copilot Çağrı Yığını penceresinde ilgili çerçevenin yanında Copilot ile Çözümle düğmesini gösterir.
  2. Copilot ile analiz et'i seçin.

Çağrı Yığını Penceresindeki analizi gösteren ekran görüntüsü.

Copilot hem zaman uyumlu hem de zaman uyumsuz çağrı yığınlarını anlar ve ilgili çerçevelere not ekler. Aşağıdakilerin net bir açıklamasını almak için çerçeveyi analiz edebilirsiniz:

  • Yürütme neden duraklatıldı?
  • İş parçacığının beklediği şey
  • Yürütme şu anki noktaya nasıl geldi?

Bu, çağrı yığınını statik bir çerçeve listesinden etkileşimli bir hata ayıklama deneyimine dönüştürür. Copilot, zaman uyumsuz akışları el ile yeniden oluşturmak yerine çalışma zamanı davranışını hızlı bir şekilde anlamanıza ve gerçek sorunu düzeltmeye geri dönmenize yardımcı olur.

Copilot ile hata ayıklama hakkında daha fazla bilgi için bkz. GitHub Copilot ile uygulamanızda hata ayıklama.

Çağrı Yığını penceresinde kullanıcı dışı kodu görüntüleme

Dış veya kullanıcı dışı kodu görüntülemek için, arama yığını araç çubuğundan Dış Kodu Göster düğmesini değiştirin veya Çağrı Yığını penceresinde sağ tıklayın ve Dış Kodu Göster'i seçin.

Kullanıcı dışı kod, Yalnızca Kodum etkinleştirildiğinde gösterilmeyen herhangi bir koddur. Yönetilen kodda, kullanıcı dışı kod çerçeveleri varsayılan olarak gizlenir. Kullanıcı kodu olmayan çerçevelerin yerine aşağıdaki gösterim görüntülenir:

[<External Code>]

Kodunuz ve çerçeveniz veya çalışma zamanı kodunuz arasındaki geçişleri anlamanız gerektiğinde dış kodu gösterin, örneğin:

  • Çerçeve sınırlarını aşan bir istisnanın izlenmesi
  • geri çağrım ve olay dağıtım yollarını anlama
  • Kitaplık kodundan sizin kodunuza denetimin nerede döndüğünü belirleme

Başka bir yığın çerçevesine geçme (hata ayıklayıcı bağlamını değiştirme)

Çerçeveler arasında geçiş yapmak, geçerli yürütme noktasını değiştirmeden önceki bir çağıranın yerellerini, bağımsız değişkenlerini ve kaynağını incelemek istediğinizde kullanışlıdır.

  1. Çağrı Yığını penceresinde, kodunu ve verilerini görüntülemek istediğiniz yığın çerçevesine sağ tıklayın.

    Alternatif olarak, Çağrı Yığını penceresindeki bir çerçeveye çift tıklayarak o çerçeveye geçiş yapabilirsiniz.

  2. "Anahtarı Seçin, Çerçeve'e Geçin."

    Seçtiğiniz yığın çerçevesinin yanında kıvırcık kuyruklu yeşil bir ok görünür. Yürütme işaretçisi, hala sarı okla işaretlenmiş özgün çerçevede kalır. Hata Ayıklama menüsünden Adım veya Devam seçeneklerini seçerseniz, işlemler seçtiğiniz çerçevede değil, özgün çerçevede devam eder.

Tüm iş parçacıklarını görüntüle düğmesini değiştirerek Paralel Yığın penceresinde tüm ilgili iş parçacıklarını görün. Paralel Yığınlar penceresi, çok iş parçacıklı uygulamalar için çağrı yığınlarını görselleştirir.

Diğer iş parçacıklarındaki çalışmalar, örneğin kilitler, asenkron devamlılıklar veya iş parçacığı havuzu geri çağırmaları gibi, bir kesme noktasını etkileyebilecekse bu görünümü kullanın.

Paralel Yığınlar penceresinde ilgili iş parçacıklarını gösteren ekran görüntüsü.

Çağrı Yığını penceresinin sol üst kısmındaki arama kutusuna terimler yazarak arama yığını çerçevelerini arayabilirsiniz.

Arama, derin yığınlarda bir yöntemi, modülü veya ad alanını hızla bulmak için kullanışlıdır. Eşleşen çerçeveler vurgulanır, böylece yığının ilgili bölümlerine daha hızlı atlayabilirsiniz.

Çağrı yığınında bir işlevin kaynak kodunu görüntüleme

Çağrı Yığını penceresinde, kaynak kodunu görmek istediğiniz fonksiyona sağ tıklayın ve Kaynak Koduna Gitseçeneğini seçin.

Çağrı Yığını penceresinden belirli bir işlevi çalıştır

Çağrı Yığını penceresinde işlevi seçin, sağ tıklayın ve ardından İmleç 'Çalıştır'ı seçin.

Her bir ara çağrıyı tek tek geçmeden bilinen bir çerçeveye hızlıca devam etmek istediğinizde bu komutu kullanın.

İşlev çağrısının çıkış noktasında kesme noktası ayarlama

bkz. Çağrı yığını işlevinde kesme noktası ayarlama.

Başka bir iş parçacığına yapılan veya başka bir iş parçacığından gelen çağrıları görüntüleme

Çağrı Yığını penceresine sağ tıklayın ve Diğer İş Parçacıklarına/Diğer İş Parçacıklarından Arama ekleseçin.

Çalışan iş parçacıkları, ui iş parçacıkları veya görev devamlılıkları arasındaki iletimleri tanılarken iş parçacıkları arası ilişkileri ortaya çıkarmak için bu seçeneği kullanın.

Çağrı yığınını görsel olarak izleme

Visual Studio Enterprise'da (yalnızca), hata ayıklama sırasında çağrı yığını için kod eşlemelerini görüntüleyebilirsiniz.

Çağrı Yığını penceresinde kısayol menüsünü açın. Çağrı Yığınını Kod Haritasında Göster'i seçin (Ctrl + Shift + `).

Daha fazla bilgi için bkz. hata ayıklarken çağrı yığınındakiEşleme yöntemleri.

Çağrı Yığınını Kod Haritasında Göster

Çağrı yığınındaki bir işlevin ayrıştırma kodunu görüntüleme (C#, C++, Visual Basic, F#)

Çağrı Yığını penceresinde, dağıtım kodunu görmek istediğiniz fonksiyona sağ tıklayın ve Dağıtıma Gitseçeneğine tıklayın.

Görüntülenen isteğe bağlı bilgileri değiştirme

Çağrı Yığını penceresinde sağ tıklayın ve < bilgileri göster'i >ayarlayın veya temizleyin.

İlgili bilgileri öne çıkarması için kademe ayrıntılarını özelleştirmek amacıyla bu seçenekleri kullanın.

.NET dış kodunu otomatik olarak derle

Visual Studio 2022 sürüm 17.7'den başlayarak, Çağrı Yığını penceresinde dış koda çift tıklayarak .NET kodunu otomatik olarak derleyebilirsiniz. Daha fazla bilgi için bkz. hata ayıklarken .NET derlemelerinden kaynak kodu oluşturma.

Modül için sembolleri yükleme (C#, C++, Visual Basic, F#)

Çağrı Yığını penceresinde, şu anda simgelerin yüklenmediği kod için hata ayıklama simgelerini yükleyebilirsiniz. Bu simgeler Microsoft ortak sembol sunucularından indirilen .NET veya sistem simgeleri ya da hata ayıkladığınız bilgisayardaki bir sembol yolundaki simgeler olabilir.

Bkz. .pdb sembol ve kaynak dosyalarınıbelirtin.

Sembolleri yüklemek için

  1. Çağrı Yığını penceresinde, simgelerin yüklenmediği yığın çerçevesine sağ tıklayın. Çerçeve karartılacak.

  2. Yükleme Simgeleri üzerine tıklayın ve ardından (varsa) Microsoft Sembol Sunucuları seçin veya simge yoluna göz atın.

Simge yolunu ayarlamak için

  1. Çağrı Yığını penceresinde, kısayol menüsünden Simge Ayarları seçin.

    Seçenekleri iletişim kutusu açılır ve Simgeler sayfası görüntülenir.

  2. simge ayarları seçin.

  3. Seçenekleri iletişim kutusunda Klasör simgesine tıklayın.

    Simge dosyası (.pdb) konumları kutusunda bir imleç belirir.

  4. Hata ayıkladığınız bilgisayardaki simge konumuna bir dizin yolu adı girin. Yerel ve uzaktan hata ayıklama için bu, yerel bilgisayarınızdaki bir yoldur.

  5. Tamam seçeneğini Seçenekler iletişim kutusunu kapatmak için seçin.