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.
Bu makalede, GitHub Copilot kullanarak daha verimli bir şekilde hata ayıklamayı öğreneceksiniz. Copilot, kod düzeltmelerinin yanı sıra ayrıntılı analiz ve kodun nasıl çalıştığına ilişkin açıklamalar sağlayabilir. Hatalar için önerilen düzeltmelere yardımcı olur ve özel durumlar gibi şeyleri açıklar. Copilot çağrı yığınlarını, çerçeveleri, değişken adlarını ve değerleri anlar. Sonuç olarak, kodunuzla ilgili ayrıntılı sorular sormak ve genel olarak hata ayıklama sorunları için hata ayıklayıcı kullanan yapay zeka ile etkileşim kurabilirsiniz.
Ayrıca Copilot, istisnalar gibi belirli senaryolar ve AI ile geliştirilmiş hata ayıklama senaryoları içinde açıklanan tüm durumlar için daha kesin yardım sağlar. Bu senaryoların çoğunda, Ask Copilot
veya Copilot ile Analiz Et düğmesine bakın. Bu senaryolarda, Copilot sorularınızın bağlamını zaten biliyordur.
Visual Studio'da GitHub Copilot Tamamlamaları hakkında daha fazla bilgi için bkz. Visual Studio GitHub Copilot Tamamlamaları Hakkında.
Önkoşullar
Başlamak için şunları yapmanız gerekir:
Visual Studio 2022 version 17.8 veya üzeri
GitHub hesabınızı kullanarak Visual Studio'ya Copilot erişimiyle oturum açın
** ücretsiz kullanabilirsiniz. Daha hızlı ve verimli bir şekilde kod oluşturmak için kaydolun ve yapay zekadan yararlanın. Not
Uzantıyı yükledikten sonra kimlik doğrulaması sorunlarıyla karşılaşırsanız bkz. GitHub Copilot Chat ile ilgili kimlik doğrulama sorunlarını giderme.
Yapay zeka ile geliştirilmiş senaryolar
Copilot çağrı yığınlarını, çerçeveleri, değişken adlarını ve değerleri anlar. Sonuç olarak, kodunuzla ilgili ayrıntılı sorular sormak ve genel olarak hata ayıklama sorunları için hata ayıklayıcı kullanan yapay zeka ile etkileşim kurabilirsiniz.
Ayrıca, Copilot aşağıdaki tabloda açıklananlar gibi bazı hedeflenen senaryolar için daha hassas yardım sağlar.
| Özellik veya senaryo | Bağlantı |
|---|---|
| Hata Ayıklayıcı Aracısı | Bu makalede Hata Ayıklayıcı Aracısı ile Agentic hata çözümlemesini inceleyin. Uçtan uca etkin iş akışı; hataları yeniden oluşturur, uygulamanızı yapılandırır ve canlı çalışma zamanı verilerini kullanarak düzeltmeleri doğrular. |
| Çağrı yığını analizi | Bkz. Copilot ile çağrı yığınını analiz etme. Zaman uyumsuz akış açıklamaları da dahil olmak üzere iş parçacığınızın ne yaptığını tek tıklamayla analiz edin. |
| Özel durum | Bu makaledeki Copilot ile özel durum oluşturma bölümüne bakın. İstisnalarla ilgili yardım, kilitlenme algılama hatalarıyla ilgili yardım içerir. |
| Değişken | Bkz. Yapay zeka yardımı alma. |
| LINQ sorgu analizi | Dönüş değerini görmek için kod düzenleyicisinde hata ayıklarken LINQ sorgularının üzerine gelin. Yapay zeka yardımı için Analyze with Copilot düğmesini seçin. Bkz. LINQ sorgularının dönüş değerlerini görüntüleme. |
| Veri ipuçları | Yapay zeka yardımı almak için veri ipuçlarıbakın. |
| Koşullu kesme noktaları ve izleme noktaları | Bu makalede koşullu kesme noktaları ve izleme noktalarıyla ilgili öneriler alma konusunda bakın. |
| Hızlı İşlemler (ampul) | Bakın, Hızlı İşlemlerile yapay zeka yardımı alın. |
| IEnumerable tablo görselleştiricisi | Bkz. Yapay zeka yardımı alma. |
| Metin Görselleştiricisi'nde otomatik algılama ve biçimlendirme | Bkz. Otomatik algılama ve biçimlendirme. Copilot, kodlanmış veya sıkıştırılmış dizeleri otomatik olarak tanımlar ve bunları tek bir tıklamayla çözer. |
| Satır içi dönüş değerleri | bkz. yöntem çağrılarının dönüş değerlerini görüntüleme. |
| Satır içi değerler | Bkz. Satır içi değerleri görüntüleme. |
| Çok iş parçacıklı hata ayıklama | Bkz. Konular görünümüyle yapay zeka yardımı alın. |
| Birim testi | Bkz. Testlerde hata ayıklamak için yapay zeka yardımı alma |
| Depo bağlamıyla istisnaları incele | Bkz. Depo bağlamı ile yapay zeka yardımı alma |
| Kesme noktalarıyla ilgili sorunları giderme | Bkz. Yapay zeka yardımı alma. |
| Özellik veya senaryo | Bağlantı |
|---|---|
| Çağrı yığını analizi | Bkz. Copilot ile çağrı yığınını analiz etme. Zaman uyumsuz akış açıklamaları da dahil olmak üzere iş parçacığınızın ne yaptığını tek tıklamayla analiz edin. |
| Özel durum | Bu makaledeki Copilot ile özel durum oluşturma bölümüne bakın. İstisnalarla ilgili yardım, kilitlenme algılama hatalarıyla ilgili yardım içerir. |
| Değişken | Bkz. Yapay zeka yardımı alma. |
| LINQ sorgu analizi | Dönüş değerini görmek için kod düzenleyicisinde hata ayıklarken LINQ sorgularının üzerine gelin. Yapay zeka yardımı için Analyze with Copilot düğmesini seçin. Bkz. LINQ sorgularının dönüş değerlerini görüntüleme. |
| Veri ipuçları | Yapay zeka yardımı almak için veri ipuçlarıbakın. |
| Koşullu kesme noktaları ve izleme noktaları | Bu makalede koşullu kesme noktaları ve izleme noktalarıyla ilgili öneriler alma konusunda bakın. |
| Hızlı İşlemler (ampul) | Bakın, Hızlı İşlemlerile yapay zeka yardımı alın. |
| IEnumerable tablo görselleştiricisi | Bkz. Yapay zeka yardımı alma. |
| Satır içi dönüş değerleri | bkz. yöntem çağrılarının dönüş değerlerini görüntüleme. |
| Satır içi değerler | Bkz. Satır içi değerleri görüntüleme. |
| Çok iş parçacıklı hata ayıklama | Bkz. Konular görünümüyle yapay zeka yardımı alın. |
| Birim testi | Bkz. Testlerde hata ayıklamak için yapay zeka yardımı alma |
| Depo bağlamıyla istisnaları incele | Bkz. Depo bağlamı ile yapay zeka yardımı alma |
| Kesme noktalarıyla ilgili sorunları giderme | Bkz. Yapay zeka yardımı alma. |
Bu senaryoların çoğunda Ask Copilot
veya Analyze ile Copilot düğmesini kullanarak hedeflenen yardım alırsınız. Copilot sorularınızın bağlamını zaten biliyor. Örneğin, geçerli çağrı yığınını, sormakta olduğunuz kod satırını ve özel durumun adını (varsa) bilir, bu nedenle sohbette bağlamı kendiniz sağlamanız gerekmez. Copilot ayrıca koşullu kesme noktalarının ve izleme noktalarının kullanımına yönelik öneriler sağlar.
Copilot kullanarak hata ayıklama
Aşağıdaki basit örnekte, satır içi Sohbet görünümünü kullanarak yapay zeka yardımı alma gösterilmektedir.
Not
Ayrıca View > GitHub Copilot Chat öğesini seçerek ayrı Sohbet penceresini kullanarak da yardım alabilirsiniz. Daha fazla bilgi için bkz. Visual Studio için GitHub Copilot Chat uzantısı nedir?.
Hata ayıklama oturumu başlat
Visual Studio'da yeni bir C# Konsol uygulaması oluşturun.
Başlangıç penceresinde yeni proje oluştur seçin. Arama kutusuna console yazın, dil olarak C#'i seçin ve ardından .NET için Console App seçin. Sonrakiseçin. ConsoleApp_Copilot gibi bir proje adı yazın ve İleriseçin.
Önerilen hedef çerçeveyi veya .NET 10'u seçin ve ardından Create öğesini seçin.
.NET için Console App proje şablonunu görmüyorsanız Tools>Get Tools and Features seçeneğine giderek Visual Studio Yükleyicisi'ni açabilirsiniz. .NET masaüstü geliştirme iş yükünü seçin ve ardından Modify öğesini seçin.
Visual Studio, sağ bölmede Solution Explorer görünen konsol projesini oluşturur.
Program.cs içindeki kodu aşağıdaki kodla değiştirin:
using System; using System.Collections.Generic; public class Example { public static void Main(string[] args) { int value = Int32.Parse(args[0]); List<String> names = null; if (value > 0) names = new List<String>(); names.Add("Major Major Major"); } }Aşağıdaki deyime sağ tıklayın ve kesme noktası>Kesme Noktası Ekleöğesini seçin.
int value = Int32.Parse(args[0]);F5 tuşuna basın veya Hata Ayıklama menüsünden Hata Ayıklamayı Başlat seçeneğini seçin.
Uygulama kesme noktasında duraklatılır. Otomatikler penceresi, args değişkeninin
string[0]değerine sahip olduğunu gösterir.
- Satır içi Sohbet görünümünü açmak için koda sağ tıklayın ve Sohbet'i seçin.
- Satır içi Sohbet görünümünü açmak için koda sağ tıklayın ve Ask Copilot seçin.
Bahşiş
Alternatif olarak, Otomatik veya Yerel Ayarlar penceresinde veya veri ipucunda bir değişkene sağ tıklayabilir ve Ask Copilot'ı seçebilirsiniz. Copilot, değişken adı ve bağlamı sağladığı için, sohbette bağlamı kendiniz sağlamanız gerekmez.
Satır içi Sohbet görünümüne aşağıdaki soruyu yazın:
Why does the args variable have a value of string[0]?
Enter tuşlarına bastığınızda, Copilot kodunuzu anlayarak bir yanıt sağlar. (Burada gösterilenden farklı bir yanıt alabilirsiniz.)
** 
Copilot kodunuz için önerilen bir düzeltmeye sahipse, size gösterilir. Aksi takdirde Copilot'dan kod önerisi isteyebilirsiniz.
Bahşiş
Satır içi sohbet'te "#" simgesini kullanın ve sorunuzda başvuruda bulunurken belirli bilgileri Copilot'a aktarmak için açılan listeden seçim yapın. Örneğin, kodun bir bölümünü seçip #yazarsanız, # açılan listesinden bu seçimi seçebilirsiniz. "#" simgesini, yerel ayarlar penceresi gibi açılan listede görünen IDE özelliklerine başvurmak için de kullanabilirsiniz.
Bu örnekte, Copilot yanıtının sonuna kaydırın ve satır içi Sohbet penceresinin sonundaki "Programa hiç bir bağımsız değişken geçirilmediğinde durumu nasıl ele alabilirim?" sorusunu seçin.
Copilot kodunuz için önerilen bir düzeltmeyi gösterir.
Kod düzeltmeyi uygulamak istiyorsanız Sekme öğesini seçin.
sonraki bölümde Copilot diğer özelliklerini öğrenmeye devam edebilmemiz için Alt+Delete öğesini seçin.
Enter tuşlarına bastığınızda, Copilot kodunuzu anlayarak bir yanıt sağlar. (Burada gösterilenden farklı bir yanıt alabilirsiniz.)
Copilot kodunuz için önerilen bir düzeltmeye sahipse, size gösterilir. Aksi takdirde Copilot'dan kod önerisi isteyebilirsiniz.
Bahşiş
Satır içi sohbet'te "#" simgesini kullanın ve sorunuzda başvuruda bulunurken belirli bilgileri Copilot'a aktarmak için açılan listeden seçim yapın. Örneğin, kodun bir bölümünü seçip #yazarsanız, # açılan listesinden bu seçimi seçebilirsiniz. "#" simgesini, yerel ayarlar penceresi gibi açılan listede görünen IDE özelliklerine başvurmak için de kullanabilirsiniz.
Bu örnekte, Copilot yanıtının sonuna kaydırın ve satır içi Sohbet penceresinin sonundaki "Programa hiç bir bağımsız değişken geçirilmediğinde durumu nasıl ele alabilirim?" sorusunu seçin.
Copilot kodunuz için önerilen bir düzeltmeyi gösterir.
Copilot önerilen düzeltme ekran görüntüsü. Kod düzeltmesini uygulamak istiyorsanız Kabul Etseçin.
Sonraki bölümde Copilot diğer özelliklerini öğrenmeye devam edebilmemiz için Cancel öğesini seçin.
Copilot ile bir istisna hatasını ayıklama
Aşağıdaki basit örnekte bir özel durumla karşılaştığınızda yapay zeka yardımı alma ve yapay zeka tarafından önerilen düzeltmelere göre kodunuzu hızla güncelleştirme adımları gösterilmektedir.
Hata ayıklama oturumu başlat
Aynı örnek uygulamayı kullanarak hata ayıklayıcıda duraklatıldığında, geçerli deyimi yürütmek için F11 tuşuna basın veya Hata Ayıklama >Adımla seçeneğine tıklayın.
Bir
IndexOutOfRangeExceptionoluşur ve uygulama duraklatılarak istisna gösterilir.Özel durum için yapay zeka yardımı almak için sonraki bölüme geçin.
Yapay zeka yardımı isteyin
Uygulama özel durumda duraklatıldığında Analyze with Copilot düğmesini seçin.
Bir istisna içindeki Ask Copilot düğmesinin ekran görüntüsü. Henüz açık değilse, Copilot Chat penceresi görüntülenir ve hatanın ve neden oluştuğunun bir değerlendirmesini sağlar. Bu örnekte Copilot önerilen bir kod düzeltmesini, kodu kopyalamak için bir düğmeyi ve kod düzeltmesi için Preview düğmesini tanımlar.
Özel durumla ilgili sorularınız varsa, bunları Ask Copilot metin kutusuna sorun.
Copilot sohbet penceresinde Copilot hatayı önlemesini istediğinizi söyleyin.
sohbet penceresinde Copilot bir düzeltme önerdiğinde Apply öğesini seçin.
Önerilen düzeltmeyi gözden geçirin ve kod önerisini uygulamak için Sekme'yi seçin.
Visual Studio'da kod önizlemesinin ekran görüntüsü. Hata ayıklayıcıyı yeniden başlatın.
Bu kez özel durum oluşmaz. Düzeltildi!
Uygulama özel durumda duraklatıldığından Ask Copilot düğmesini seçin.
Bir istisna içindeki Ask Copilot düğmesinin ekran görüntüsü. Henüz açık değilse, Copilot Chat penceresi görüntülenir ve hatanın ve neden oluştuğunun bir değerlendirmesini sağlar. Bu örnekte Copilot önerilen bir kod düzeltmesini, kodu kopyalamak için bir düğmeyi ve kod düzeltmesi için Preview düğmesini tanımlar.
Özel durumla ilgili sorularınız varsa, bunları Ask Copilot metin kutusuna sorun.
Önizleme düğmesini seçin.
Visual Studio, önerilen düzeltmeyi içeren bir kod önizlemesi gösterir.
Önerilen düzeltmeyi gözden geçirin ve kod önerisini uygulamak için Kabul Et'i seçin.
Visual Studio'da kod önizlemesinin ekran görüntüsü. Hata ayıklayıcıyı yeniden başlatın.
Bu kez özel durum oluşmaz. Düzeltildi!
Hata Ayıklayıcı Ajan ile agentik hata çözümü
Hata Ayıklayıcı Aracısı, statik analize güvenmek yerine hataları gerçek çalışma zamanı davranışına karşı doğrulayan uçtan uca aracılı bir iş akışı sağlar. Deneyim size etkin bir döngüde yol gösterir: sorunu anlama ve yeniden üretme, uygulamayı araçlama, kök nedeni belirleme ve düzeltmeyi canlı yürütme yoluyla doğrulama.
GitHub veya Azure DevOps bir sorundan başlayabilir veya hatayı doğal dilde açıklayabilirsiniz. Hata Ayıklayıcı Aracısı sorunu yerel kaynak kodunuzla eşler ve çözümde size yol gösterir. Hata ayıklama işlemi sırasında aracıyla etkileşim kurarak daha fazla giriş sağlayabilir, teorinizi tartışabilir veya düzeltmeyi gerçek zamanlı olarak geliştirebilirsiniz.
Hata Ayıklayıcı Aracısını kullanmak için:
- Copilot Chat penceresini açın (View > GitHub Copilot Chat).
- Sohbet penceresinin sol alt köşesindeki mod açılır menüsünden Hata Ayıklayıcı'yı seçin.
- bir GitHub veya Azure DevOps sorun bağlantısı sağlayın ya da hatayı doğal dilde açıklayın.
Hata Ayıklayıcı Aracısı aşağıdaki adımlarda çalışır:
- Bağlam ekleme - Sorunu veya hata açıklamasını yerel kaynak kodunuzla bağlar.
- Otonom çoğaltıcı - Hatayı analiz eder ve çoğaltma adımları eksikse, hatayı tetikleyen en düşük senaryoyu oluşturur.
- Hipotez ve araçlandırma - Hata hipotezleri oluşturur ve çalışma zamanı durumunu yakalamak için uygulamanızı izleme noktaları ve koşullu kesme noktalarıyla araçlandırır.
- Çalışma zamanı doğrulaması - Hata ayıklama oturumunu çalıştırır ve kök nedeni yalıtmak için canlı telemetriyi analiz eder.
- Hedeflenen düzeltme - Geniş çaplı yeniden düzenleme yerine tam hata noktasında kesin bir düzeltme önerir.
- Son insan doğrulaması - Senaryoyu yeniden çalıştırır ve düzeltmeyi aracıyla birlikte canlı ortamda onaylarsınız.
Sohbette Aracı modundayken, sohbet girişinde @debugger kullanarak Hata Ayıklayıcısı aracına da geçebilirsiniz. Hata Ayıklayıcı Aracısı ve diğer yerleşik aracılar hakkında daha fazla bilgi için bkz. Yerleşik ve özel aracıları GitHub Copilot ile kullanma.
Koşullu kesme noktaları ve izleme noktalarıyla öneriler alma
Copilot, kodunuza özgü koşulsal kesme noktaları ve tracepoints için öneriler sunar.
Bu örnekte, koşullu kesme noktası için yapay zeka önerileri göstereceğiz. İzleme noktaları için yapay zeka yardımı aynı şekilde çalışır.
Geçerli kesme noktasını kaldırmak için üzerine tıklayın veya sağ tıklayıp Kesme Noktasını Silseçin.
Aşağıdaki kod satırını değiştirin:
names.Add("Major Major Major");bununla:
// names.Add("Major Major Major"); foreach (var item in args) { names.Add("Name: " + item); }names.Add("Name: " + item)deyiminin solundaki kenar boşluğuna sağ tıklayın ve Koşullu Kesme Noktası Ekleseçin.İfade alanını seçin ve Copilot öneriler üzerinde çalışmaya başlar.
Öneriler görüntülendiğinde,
item == "Test"gibi birini seçin. Öneriyi, adınFredolacak şekilde düzenleyin.
Öneriler görüntülendiğinde
item == "John"gibi birini seçin. Öneriyi, adınFredolacak şekilde düzenleyin.
Koşullu ifadeyi test etmek için:
Solution Explorer'da ConsoleApp_Copilot projesine sağ tıklayın ve Properties öğesini seçin.
Hata Ayıklama>Genel>Hata ayıklama başlatma profilleri kullanıcı arayüzünü açseçin.
Komut satırı bağımsız değişkenleri alanına üç ayrı satıra
5 Fred Joegirin.
Hata ayıklayıcıyı yeniden başlatın.
Hata ayıklayıcı kesme noktasında duraklatıldığında,
itemdeğerini denetleyin ve geçerli değerinFredolduğunu doğrulayın.