Visual Studio'da Python kodunuzda hata ayıklama

Visual Studio, Python için kapsamlı bir hata ayıklama deneyimi sağlar. Bu makalede, hata ayıklayıcısını çalışan işlemlere eklemeyi ve İzleme ve Anlık pencerelerde ifadeleri değerlendirmeyi öğreneceksiniz. Hata ayıklayıcıda yerel değişkenleri inceleyebilir, kesme noktalarını kullanabilir, deyimlere adım adım girebilir/çıkabilir/geçebilir, Sonraki Deyimi Ayarla ve daha fazlasını yapabilirsiniz.

Senaryoya özgü hata ayıklama bilgileri için aşağıdaki makalelere bakın:

Önkoşullar

Projeli veya projesiz kodda hata ayıklama

Python ortamınızı ve bağımsız değişkenlerinizi denetlemek istiyorsanız, önce kodunuz için bir proje oluşturun. Varolan Python kodundan proje şablonuyla proje oluşturabilirsiniz. Daha fazla bilgi için bkz. Varolan Python kod dosyalarından proje oluşturma.

Ancak, Python kodunuzda hata ayıklamak için Visual Studio bir proje veya çözüm dosyasına ihtiyacınız yoktur. Tek başına Python bir dosyada kodda hata ayıklamak için dosyanızı Visual Studio açın ve Debug>Başla Hata Ayıklama'yi seçin. Visual Studio betiği, genel varsayılan ortamla ve herhangi bir bağımsız değişken olmadan başlatır. Ardından kodunuz için tam hata ayıklama desteğine sahip olursunuz. Daha fazla bilgi için bkz. Python ortamları.

Temel hata ayıklamayı keşfetme

Temel hata ayıklama iş akışı, kesme noktalarını ayarlama, adım adım kodda ilerleme, değerleri inceleme ve istisnaları işleme süreçlerini içerir. Hata Ayıklama'yı>Hata Ayıklamayı Başlat seçeneğini seçerek hata ayıklama oturumu başlatabilirsiniz veya F5 klavye kısayolunu kullanabilirsiniz. Bu eylemler, bir proje için projenin aktif ortamı ve Proje Özellikleri için belirtilen tüm komut satırı bağımsız değişkenleri veya arama yolları ile birlikte startup dosyasını başlatır. Özellikleri yapılandırmak için bkz. Proje hata ayıklama seçeneklerini ayarlama.

Proje başlangıç dosyasını ayarlama

Projenin başlangıç dosyası Çözüm Gezgini kalın olarak gösterilir. Başlangıç dosyası olarak hangi dosyanın kullanılacağını seçebilirsiniz.

  • Başlangıç dosyası olarak bir proje dosyası belirtmek için, dosyaya sağ tıklayın ve Başlangıç Öğesi Olarak Ayarla'yı seçin.

Visual Studio 2017 sürüm 15.6 ve sonraki sürümlerinde, belirtilen bir başlangıç dosyası kümeniz yoksa bir uyarı görürsünüz. Visual Studio'nun önceki sürümleri, Python yorumlayıcısının çalıştığı Output penceresini açabilir veya Output penceresi kısa bir süre açılıp kapanabilir.

Etkin ortamı belirtme

Proje dosyası kullanıyorsanız, hata ayıklayıcı her zaman projenin etkin Python ortamıyla başlar. Geçerli etkin ortamı değiştirebilirsiniz. Daha fazla bilgi için bkz. Bir proje için Python ortamı seçme.

Tek başına bir Python kod dosyasında hata ayıklarsanız, Visual Studio betiği genel varsayılan ortamla ve hiçbir bağımsız değişken olmadan çalıştırır.

Kesme noktalarını ayarlama

Kesme noktaları, program durumunu inceleyebilmeniz için işaretli bir noktada kodun yürütülmesini durdurur.

Python'daki bazı kesme noktaları, diğer programlama dilleriyle çalışmış geliştiriciler için şaşırtıcı olabilir. Python tüm dosya yürütülebilir kod olduğundan Python üst düzey sınıf veya işlev tanımlarını işlemek için yüklendiğinde dosyayı çalıştırır. Bir kesme noktası ayarlanırsa, hata ayıklayıcının bir sınıf bildiriminde kısmen durduğunu fark edebilirsiniz. Bazen şaşırtıcı olsa da bu davranış doğrudur.

  • Kesme noktası ayarlamak için, kod düzenleyicisinin sol kenar boşluğunda öğesini seçin veya bir kod satırına sağ tıklayın ve Kesme Noktası> seçin. Belirli bir kesme noktası olan her satırda kırmızı bir nokta görünür.

    Ekran görüntüsü, Visual Studio kod dosyasının sol kenar boşluğunda kesme noktalarının nasıl görüntülendiğini gösterir.

  • Kesme noktasını kaldırmak için kırmızı noktayı seçin veya kod satırına sağ tıklayın ve Kesme Noktasını> Sil'i seçin. Ayrıca, kırmızı noktayı seçip Kesme Noktası>Devre Dışı Bırak'ı seçerek kesme noktasını devre dışı bırakabilirsiniz.

    Visual Studio'da kod dosyasının sol kenar boşluğunda bir kesme noktasının nasıl devre dışı bırakıldığını gösteren ekran görüntüsü.

Koşulları ve eylemleri ayarlama

Kesme noktasının tetiklendiği koşulları özelleştirebilirsiniz; örneğin, yalnızca bir değişken belirli bir değere veya değer aralığına ayarlandığında kesilebilir.

  • Koşulları ayarlamak için kesme noktasının kırmızı noktasına sağ tıklayın ve Koşullar'ı seçin. Kesme Noktası Ayarları iletişim kutusu açılır.

    İletişim kutusunda, Python kodu kullanarak birden çok koşul ekleyebilir ve koşullu ifadeler oluşturabilirsiniz. Visual Studio'daki bu özelliğin tüm ayrıntıları için bkz. Breakpoint koşulları.

  • Kesme noktası için Eylemler'i ayarlama seçenekleriniz de vardır. Çıkış penceresinde oturum açmak için bir ileti oluşturabilir ve isteğe bağlı olarak yürütmeye otomatik olarak devam etmek için belirtebilirsiniz.

    İletinin günlüğe kaydedilmesi, doğrudan uygulamanıza günlük kodu eklemeyen bir izleme noktası oluşturur.

Kesme noktası için koşulları ve eylemleri nasıl yapılandırdığınıza bağlı olarak, sol kenar boşluğundaki kırmızı simge ayarlarınızı gösterecek şekilde değişir. Nokta şeklini, saat zamanlayıcısını veya elması görebilirsiniz.

Kodda adım adım ilerleyin

Visual Studio bir kesme noktasında kod yürütmeyi durdurduğunda, yeniden kesmeden önce kodunuzda adım adım ilerleyebileceğiniz veya kod bloklarını çalıştırmak için kullanabileceğiniz birkaç komut vardır. Komutlar, Visual Studio'da Hata Ayıklayıcı araç çubuğu, Hata Ayıklama menüsü, kod düzenleyicisinde sağ tıklama bağlam menüsü ve klavye kısayolları gibi birkaç yerde kullanılabilir.

Aşağıdaki tabloda bu komutlar özetlenerek klavye kısayolu sağlanır:

Komut Shortcut Description
Durdur Shift + F5 Hata ayıklama oturumunu durdurun.
Yeni -den başlatın Ctrl + Shift + F5 Geçerli hata ayıklama oturumunu yeniden başlatın.
Devam etmek F5 Sonraki kesme noktasına ulaşana kadar kodu çalıştırın.
Adım At F11 Sonraki deyimi çalıştırın ve durdurun. Sonraki deyim bir işlev çağrısıysa, hata ayıklayıcı çağrılan işlevin ilk satırında durur.
Adım Atla F10 Sonraki ifadeyi çalıştırın, bir işleve (tüm kodunu çalıştırarak) çağrı yapın ve herhangi bir dönüş değerini uygulayın. Bu komut, hata ayıklamanız gerekmeyen işlevleri kolayca atlamanızı sağlar.
Dışarı Çık Üstkrkt+F11 Geçerli işlevin sonuna kadar kodu çalıştırdıktan sonra, çağırma ifadesine geçin. Bu komut, geçerli işlevin geri kalanında hata ayıklamanız gerekmeyen durumlarda kullanışlıdır.
İmleç'e Çalıştır Ctrl+F10 Kodu düzenleyicide imlecin konumuna kadar çalıştırın. Bu komut, hata ayıklamanız gerekmeyen bir kod kesimini kolayca atlamanızı sağlar.
Sonraki Deyimi Ayarla Ctrl+Üstkrkt+F10 Koddaki geçerli çalıştırma noktasını imlecin konumuna değiştirin. Bu komut, kodun hatalı olduğunu bildiğiniz veya istenmeyen bir yan etki ürettiği durumlar gibi bir kod kesiminin çalıştırılmasını hiç atlamanıza olanak tanır.
Sonraki Deyimi Göster Alt+Num+\ Kodda çalıştırmak için sonraki deyime dönün. Bu komut, kodunuzda hata ayıklayıcının durdurulduğu yeri bulmanıza yardımcı olur.

Değerleri inceleme ve değiştirme

Hata ayıklayıcıda kod yürütmeyi durdurduğunuzda değişkenlerin değerlerini inceleyebilir ve değiştirebilirsiniz. Tek tek değişkenleri ve özel ifadeleri izlemek için İzleme penceresini de kullanabilirsiniz. Daha fazla bilgi için bkz . Değişkenleri inceleme.

  • Hata ayıklama sırasında Veri İpuçları özelliğini kullanarak bir değeri görüntülemek için, fareyi düzenleyicideki herhangi bir değişkenin üzerine getirin. Değişken değerini seçerek değiştirebilirsiniz:

    Visual Studio hata ayıklayıcıda bir değişkenin DataTips değerini gösteren ekran görüntüsü.

    Visual Studio hata ayıklayıcısında bir değişken için DataTips değerini gösteren ekran görüntüsü.

  • Autos penceresini kullanmak için Debug>Windows>Autos'ı seçin. Bu pencere, geçerli deyime yakın değişkenler ve ifadeler içerir. Değer sütununa çift tıklayabilir veya değeri düzenlemek için F2'yi seçip girebilirsiniz:

    Visual Studio hata ayıklayıcısındaki Otomatik penceresini gösteren ekran görüntüsü.

    Otomatikler penceresini kullanma hakkında daha fazla bilgi için bkz. Otomatik ve Yerel Ayarlar pencerelerindeki değişkenleri inceleme.

  • Locals penceresini kullanmak için Debug>Windows>Locals öğesini seçin. Bu pencere geçerli kapsamdaki tüm değişkenleri görüntüler. Değer sütununa çift tıklayabilir veya değeri düzenlemek için F2'yi seçip girebilirsiniz:

    Visual Studio hata ayıklayıcısındaki Yereller penceresini gösteren ekran görüntüsü.

    Visual Studio hata ayıklayıcısındaki Yereller penceresini gösteren ekran görüntüsü.

    Yerel Ayarlar penceresini kullanma hakkında daha fazla bilgi için bkz. Otomatik ve Yerel Ayarlar pencerelerindeki değişkenleri inceleme.

  • Watch windows kullanmak için, Debug>Windows>Watch>Watch 1-4 öğesini seçin. Bu seçenek rastgele Python ifadeleri girmenize ve sonuçları görüntülemenize olanak tanır. İfadeler her adım için yeniden değerlendirilir:

    Visual Studio hata ayıklayıcısındaki İzleme penceresini gösteren ekran görüntüsü.

    Gözcü penceresini kullanma hakkında daha fazla bilgi için bkz. Watch ve QuickWatch pencereleriyle değişkenler üzerinde saat ayarlama.

  • Bir dize değerini incelemek için Değer girişinin sağ tarafındaki Görünüm (büyüteç) öğesini seçin. str, unicode, bytesve bytearray türlerinin tümü inceleme için kullanılabilir.

    Görünüm açılan menüsünde dört görselleştirme seçeneği görüntülenir: Metin, HTML, XML veya JSON.

    \\\Visual Studio hata ayıklayıcısında 'Görünüm' sekmesindeki büyüteç simgesinden görselleştiricilere nasıl erişileceğini gösteren ekran görüntüsü.\\\

    Bir görselleştirmeyi seçtikten sonra, açılan iletişim kutusu seçili türe göre alıntılanmamış dize değerini gösterir. Metin dizesini kaydırma, kaydırma çubuğu, söz dizimi vurgulama ve ağaç görünümleri ile görüntüleyebilirsiniz. Bu görselleştirmeler uzun ve karmaşık dizelerle ilgili sorunların hatalarını ayıklamaya yardımcı olabilir.

Özel durumları görüntüle

Hata ayıklama sırasında programınızda bir hata oluşursa, ancak bunun için bir özel durum işleyiciniz yoksa, hata ayıklayıcısı özel durum noktasında sonlanır:

Bir hatanın ele alınmadığı durum için Visual Studio hata ayıklayıcıda bir İstisna açılır penceresini gösteren ekran görüntüsü.

Visual Studio hata ayıklayıcısında işlenmemiş bir hata için bir İstisna açılır penceresi gösteren ekran görüntüsü.

Bir hata oluştuğunda, çağrı yığını da dahil olmak üzere geçerli program durumunu inceleyebilirsiniz. Ancak, kodda adım adım ilerlerseniz, istisna işlenene veya programınız sonlanana kadar hata ayıklama sırasında istisna atılmaya devam eder.

  • Özel durumların genişletilmiş görünümünü görmek için Debug>Windows>Exception Settings öğesini seçin.

    Visual Studio hata ayıklayıcıda Özel Durumlar Ayarları penceresini gösteren ekran görüntüsü.

    Visual Studio hata ayıklayıcısındaki Özel Durumlar Ayarları penceresini gösteren ekran görüntüsü.

    Özel Durum Ayarları penceresinde, bir özel durumun yanındaki onay kutusu, özel durum oluştuğunda hata ayıklayıcının her zaman bozulup bozulmayacağını denetler.

  • Belirli bir özel durum için daha sık kesme yapmak için Özel Durum Ayarları penceresinde özel durumun yanındaki onay kutusunu seçin.

  • Varsayılan olarak, bir özel durum işleyicisi kaynak kodda bulunamadığında çoğu özel durum bozulabilir. Bu davranışı değiştirmek için herhangi bir istisnaya sağ tıklayın ve Kullanıcı Kodunda İşlenmeyenlere Devam Et seçeneğini değiştirin. Özel durum nedeniyle daha az kesinti yapmak için bu seçeneğin işaretini kaldırın.

  • Özel Durum Ayarları penceresinde görünmeyen bir özel durum yapılandırmak için Ekle 'yi (artı simgesi) seçin. İzleyebileceğiniz özel durum için bir ad girin. Ad, özel durumun tam adıyla eşleşmelidir.

Proje hata ayıklama seçeneklerini yapılandırma

Varsayılan olarak, hata ayıklayıcı, programınızı standart Python başlatıcısıyla çalıştırırken komut satırı bağımsız değişkenleri veya başka herhangi bir özel yol ya da koşul kullanmaz. Hata ayıklama özelliklerini ayarlayarak bir Python projesi için başlangıç seçeneklerini yapılandırabilirsiniz.

  • Bir projenin hata ayıklama özelliklerine erişmek için Çözüm Gezgini'da Python projenize sağ tıklayın, Properties öğesini seçin ve ardından Debug sekmesini seçin.

    Visual Studio hata ayıklayıcısında Python proje hata ayıklama özelliklerini gösteren ekran görüntüsü.

    Visual Studio hata ayıklayıcıda, Python proje hata ayıklama özelliklerini gösteren ekran görüntüsü.

Aşağıdaki bölümlerde belirli özellikler açıklanmaktadır.

Başlatma davranışını tanımlama

Aşağıdaki tabloda Başlatma modu özelliği için olası değerler listeleniyor. Hata ayıklayıcının başlatma davranışını tanımlamak için bu özelliği kullanın.

Değer Description
Standard Python başlatıcı CPython, IronPython ve Stackless Python gibi çeşitlemelerle uyumlu taşınabilir Python yazılmış hata ayıklama kodunu kullanın. Bu seçenek, saf Python kodunda hata ayıklamak için en iyi deneyimi sağlar. Çalışan python.exe bir işleme eklediğinizde, bu özellikte belirtilen başlatıcı kullanılır. Bu başlatıcı ayrıca C/C++ kodu ile Python kodu arasında sorunsuz bir şekilde adım atmayı sağlayan CPython için karma mod hata ayıklama sağlar.
Web başlatıcı Başlatmada varsayılan tarayıcınızı başlatın ve şablonların hata ayıklamasını etkinleştirin. Daha fazla bilgi için Web şablonu hata ayıklama bölümüne bakın.
Django Web başlatıcısı Bir Django ortamı için Web launcher özelliğine aynı davranışı uygulayın. Bu seçeneği yalnızca geriye dönük uyumluluk amacıyla kullanın.
IronPython (.NET) başlatıcı Yalnızca IronPython ile çalışan ancak C# ve Visual Basic dahil olmak üzere herhangi bir .NET dil projesi arasında adım atılmasına olanak tanıyan .NET hata ayıklayıcısını kullanın. IronPython barındıran çalışan bir .NET işlemine eklerseniz bu başlatıcı kullanılır.

Çalıştırma davranışını tanımlama

Aşağıdaki tabloda, hata ayıklayıcı için çalışan davranışı yapılandırmak üzere ayarlayabileceğiniz özellikler açıklanmaktadır.

Property Description
Arama Yolları Visual Studio projeniz için kullandığı dosya ve klasör arama yollarını belirtin. Bu değerler, projenin Search Paths düğümünde Çözüm Gezgini gösterilen öğelerle eşleşmektedir. Bu iletişim kutusunda arama yollarını belirtebilirsiniz ancak klasörlere göz atabileceğiniz ve yolları otomatik olarak göreli forma dönüştürebileceğiniz Çözüm Gezgini kullanmak daha kolay olabilir.
Betik Argümanları Komutunuzu başlatmak için Visual Studio'nun kullandığı komuta eklenecek ve betiğinizin dosya adından sonra görünecek bağımsız değişkenleri tanımlayın. Değerde listelenen ilk öğe betiğinizde sys.argv[1] olarak kullanılabilir, ikinci öğe sys.argv[2] olarak ve benzeri.
Yorumlayıcı Argümanları Betiğinizin adından önce başlatıcı komut satırına eklenecek bağımsız değişkenleri listeleyin. Yaygın bağımsız değişkenler uyarıları denetlemek için -W ..., programınızı biraz iyileştirmek için -O ve arabelleklenmemiş GÇ kullanmak için -u şeklindedir. IronPython kullanıcılarının -X seçeneklerini, -X:Frames veya -X:MTA gibi, geçirmek için bu alanı kullanma olasılığı yüksektir.
Yorumlayıcı Yolu Geçerli ortamla ilişkili yolu geçersiz kılmak için bir yorumlayıcı yolu belirleyin. Bu değer, betiğinizi standart dışı bir yorumlayıcıyla başlatırken yararlı olabilir.
Ortam Değişkenleri Formun <NAME>=\<VALUE>girdilerini eklemek için bu özelliği kullanın. Visual Studio, bu özellik değerini mevcut tüm genel ortam değişkenlerinin üzerine ve PYTHONPATHSearch Paths ayarına göre ayarlandıktan sonra son olarak uygular. Sonuç olarak, bu ayar bu diğer değişkenlerden herhangi birini el ile geçersiz kılmak için kullanılabilir.

Etkileşimli pencerelerle çalışma

Hata ayıklama oturumu sırasında kullanabileceğiniz iki interactive penceresi vardır: standart Visual Studio Immediate penceresi ve Python Debug Interactive penceresi.

Anında penceresini açma

Python ifadelerini hızla değerlendirmek ve çalışan programınızdaki değişkenleri incelemek veya atamak için standart Visual Studio Immediate penceresini kullanabilirsiniz. Daha fazla bilgi için bkz . Anlık pencere.

  • Immediate penceresini açmak için Debug>Windows>Immediate'ı seçin. Ctrl+Alt+I klavye kısayolunu da kullanabilirsiniz.

Etkileşimli Hata Ayıklama penceresini açma

Python Debug Interactive penceresi, kod yazma ve çalıştırma dahil olmak üzere hata ayıklama sırasında kullanılabilecek tam Interactive REPL deneyimine sahip zengin bir ortam sunar. Bu pencere, Debug>Attach ile process aracılığıyla eklenen işlemler de dahil olmak üzere Standart Python başlatıcısını kullanarak hata ayıklayıcıda başlatılan tüm işlemlere otomatik olarak bağlanır. Ancak, karma mod C/C++ hata ayıklaması kullanılırken bu pencere kullanılamaz.

  • Debug Interactive penceresini kullanmak için, Debug>Windows>Python Debug Interactive (Shift+Alt+I).

Hata Ayıklama Etkileşimli penceresi, aşağıdaki tabloda açıklandığı gibi standart REPL komutlarına ek olarak özel meta komutları destekler:

Komut Description
$continue, $cont, $c Programı geçerli deyimden çalıştırmaya başlayın.
$down, $d Geçerli frame'i yığın izlemesinde bir düzey aşağı indirin.
$frame Geçerli çerçeve kimliğini görüntüleyin.
$frame Geçerli çerçeveyi belirtilen çerçeve kimliğine getirin.
- Çerçeve ID'si< bağımsız değişkeni> gerektirir.
$load Dosyadan komutları yükleyin ve tamamlanana kadar yürütülür.
$proc Geçerli işlem kimliğini görüntüleyin.
$proc Geçerli işlemi belirtilen işlem kimliğine değiştirin.
- İşlem kimliği< bağımsız değişkeni gerektirir>.
$procs Şu anda hata ayıklanan işlemleri listeleyin.
$stepin, $step, $s Mümkünse bir sonraki işlev çağrısına geçin.
$stepout, $return, $r Geçerli fonksiyondan çıkın.
$stepover, $until, $unt Sonraki işlev çağrısının üzerinden geçin.
$thread Geçerli iş parçacığı kimliğini görüntüleyin.
$thread Geçerli iş parçacığını belirtilen iş parçacığı kimliğine değiştirin.
- Thread< kimliği> argümanı gerektirir.
$threads Şu anda hata ayıklanan iş parçacığını listeleyin.
$up, $u Geçerli çerçeveyi yığın izlemesinde bir düzey yukarı taşıyın.
$where, $w, $bt Geçerli iş parçacığının çerçevelerini listeleyin.

İşlemler, İş Parçacıkları ve Çağrı Yığını gibi hata ayıklayıcısının standart pencereleri, Hata Ayıklama Etkileşimli Penceresi ile eşitlenmemiştir. Etkileşimli Hata Ayıklama penceresinde etkin işlemi, iş parçacığını veya çerçeveyi değiştirirseniz, diğer hata ayıklayıcı pencereleri etkilenmez. Benzer şekilde, diğer hata ayıklayıcı pencerelerindeki etkin işlemi, iş parçacığını veya çerçeveyi değiştirmek , Etkileşimli Hata Ayıklama penceresini etkilemez.

Eski hata ayıklayıcısını kullanma

Ortam yapılandırmanıza bağlı olarak eski hata ayıklayıcısını kullanmanız gerekebilir:

  • Visual Studio 2017 sürüm 15.7 ve öncesi ile Python 2.6, 3.1 - 3.4 veya IronPython
  • Python 2.6, 3.1 - 3.4 veya IronPython ile Visual Studio 2019 sürüm 16.5 ve üzeri
  • ptvsd 3.x ve erken 4.x sürümleri

Eski hata ayıklayıcısı, Visual Studio 2017 sürüm 15.7 ve önceki sürümlerde varsayılandır.

  • Eski hata ayıklayıcıyı kullanmak için Tools>Options, Python>Debugging seçeneklerini genişletin ve Eski hata ayıklayıcıyı kullan seçeneğini belirleyin.

Eski Visual Studio veya Python sürümlerini destekleme

Visual Studio 2017 sürüm 15.8 ve üzeri ptvsd sürüm 4.1 ve üzerini temel alan bir hata ayıklayıcı kullanır. Visual Studio 2019 sürüm 16.5 ve sonrası, debugpy tabanlı bir hata ayıklayıcı kullanır. Hata ayıklayıcının bu iki sürümü Python 2.7 veya Python 3.5 ve üzeri ile uyumludur.

Eğer bu Visual Studio sürümlerinden birini çalıştırıyorsanız ancak Python 2.6, 3.1 - 3.4 veya IronPython kullanıyorsanız, Visual Studio hata mesajı gösterir: Debugger bu Python ortamını desteklemiyor.

Hata ayıklayıcısı hata iletisinin ekran görüntüsü: 'Hata ayıklayıcı bu Python ortamını desteklemiyor'.

Visual Studio bu ortam hatasını bildirdiğinde, eski hata ayıklayıcısını kullanmanız gerekir.

Eski ptvsd sürümlerini destekleme

Geçerli ortamda ptvsd'nin eski bir sürümünü kullanıyorsanız (örneğin, önceki bir 4.0.x sürümü veya uzaktan hata ayıklama için gereken 3.x sürümü), Visual Studio bir hata veya uyarı gösterebilir.

Ortamınız ptvsd 3.x kullanıyorsa Visual Studio Debugger paketi yüklenemedi hatasını gösterir:

'Hata ayıklayıcısı paketi yüklenemedi' hata ayıklayıcısı hata iletisinin ekran görüntüsü.

Ptvsd'nin önceki bir 4.x sürümünü kullandığınızda Hata Ayıklayıcı paketi güncel değil uyarısı görüntülenir:

'Hata ayıklayıcısı paketi eski' hata ayıklayıcısı uyarı iletisinin ekran görüntüsü.

Visual Studio bu ortam hatalarını bildirdiğinde, eski hata ayıklayıcısını kullanmanız gerekir.

Important

Ptvsd'nin bazı sürümleri için uyarıyı yoksaymayı tercih edebilirsiniz ancak Visual Studio düzgün çalışmayabilir.

ptvsd yüklemenizi yönetme

ptvsd yüklemenizi yönetmek için şu adımları izleyin:

  1. Python Environments penceresinde Packages sekmesine gidin.

  2. Arama kutusuna ptvsd yazın ve ptvsd'nin yüklü sürümünü inceleyin:

  3. Sürüm 4.1.1a9'dan düşükse (Visual Studio ile birlikte gelen sürüm), eski sürümü kaldırmak için paketin sağındaki X seçin. Visual Studio ardından paketlenmiş sürümünü kullanır. (pip uninstall ptvsd komutunu kullanarak PowerShell'den de kaldırabilirsiniz.)

  4. Alternatif olarak, hata ayıklama senaryolarıyla ilgili sorunları giderme bölümündeki yönergeleri izleyerek ptvsd paketini en yeni sürümüne güncelleştirebilirsiniz.

Hata ayıklama senaryolarıyla ilgili sorunları giderme

Aşağıdaki senaryolarda hata ayıklama yapılandırmanız için diğer sorun giderme seçenekleri açıklanmaktadır.

Visual Studio 2019 için ptvsd yükseltmesi

Visual Studio 2019 sürüm 16.4 ve önceki sürümlerinde hata ayıklayıcıyla ilgili sorunlarınız varsa, önce hata ayıklayıcınızın sürümünü aşağıdaki gibi yükseltin:

  1. Python Environments penceresinde Packages sekmesine gidin.

  2. Arama kutusuna ptvsd --upgrade yazın, ardından Çalıştır komutu: pip install ptvsd --upgrade öğesini seçin. (Aynı komutu PowerShell'den de kullanabilirsiniz.)

     Python Ortamları penceresinde ptvsd yükseltme komutunun nasıl seçildiğini gösteren ekran görüntüsü.

    Sorunlar devam ederse PTVS GitHub deposunda bir sorun oluşturun.

    Uyarı

    Visual Studio 2019 sürüm 16.5 ve üzeri için hata ayıklama, Visual Studio Python iş yükünün bir parçasıdır ve Visual Studio ile birlikte güncelleştirilir.

Hata ayıklayıcı günlüğünü etkinleştirme

Bir hata ayıklayıcısı sorununu incelerken, Microsoft sizi tanılamaya yardımcı olmak için hata ayıklayıcı günlüklerini etkinleştirmenizi ve toplamanızı isteyebilir.

Aşağıdaki adımlar geçerli Visual Studio oturumunda hata ayıklamayı etkinleştirir:

  1. Visual Studio'da View>Other Windows>Command Window öğesini seçerek bir komut penceresi açın.

  2. Aşağıdaki komutu girin:

    DebugAdapterHost.Logging /On /OutputWindow
    
  3. Hata ayıklamayı başlatın ve sorununuzu yeniden oluşturmak için gereken adımları izleyin. Bu süre boyunca, hata ayıklama günlükleri Çıktı penceresinde Hata Ayıklama Bağdaştırıcısı Ana Bilgisayar Günlüğü altında görünür. Daha sonra bu penceredeki günlükleri kopyalayıp GitHub sorununa, e-postaya vb. yapıştırabilirsiniz.

    Visual Studio.

  4. Visual Studio yanıt vermeyi durdurursa veya Output penceresine erişemiyorsanız, Visual Studio yeniden başlatın, bir komut penceresi açın ve aşağıdaki komutu girin:

    DebugAdapterHost.Logging /On
    
  5. Hata ayıklamaya başlayın ve sorununuzu yeniden oluşturun. Hata ayıklayıcı günlükleri %temp%\DebugAdapterHostLog.txt içinde bulunur.