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.
Ç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.
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.
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:
- 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.
- Copilot ile analiz et'i seçin.
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.
Ç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.
"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 İlgili Konuları Görüntüle
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.
Çağrı Yığını Araştırması
Ç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ı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
Çağrı Yığını penceresinde, simgelerin yüklenmediği yığın çerçevesine sağ tıklayın. Çerçeve karartılacak.
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
Ç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.
simge ayarları seçin.
Seçenekleri iletişim kutusunda Klasör simgesine tıklayın.
Simge dosyası (.pdb) konumları kutusunda bir imleç belirir.
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.
Tamam seçeneğini Seçenekler iletişim kutusunu kapatmak için seçin.
İlgili içerik
- Çağrı Yığını penceresinde karma kod ve eksik bilgiler
- Hata ayıklayıcıda verileri görüntüleme
- Simge (.pdb) ve kaynak dosyaları belirtin
- Kesme noktalarını kullanma