Aracılığıyla paylaş


Öğretici: Visual Studio Hata Ayıklayıcı'da kod çalıştırma

Bu makalede , Visual Studio'da Python ile çalışma öğretici serisinin 4. adımı verilmiştir.

Visual Studio projeleri yönetme, zengin bir düzenleme deneyimi, Etkileşimli Pencere ve Python kodu için tam özellikli hata ayıklama özellikleri sağlar. Bu öğretici serisinin 4. adımında, kodunuzu adım adım çalıştırmak için Hata Ayıklayıcı'yı kullanarak bir döngünün her yinelemesi dahil tüm aşamaları inceleyebilirsiniz. Hata Ayıklayıcı'da, belirli koşullar doğru olduğunda programınızı duraklatabilirsiniz. Program duraklatıldığında herhangi bir noktada tüm program durumunu inceleyebilir ve değişkenlerin değerini değiştirebilirsiniz. Bu tür eylemler, program hatalarını izlemek için gereklidir ve aynı zamanda tam program akışını izlemek için yararlı yardımlar sağlar.

Eğitimin 4. Adımında şunları öğreneceksiniz:

  • Visual Studio'da Hata Ayıklayıcı'da Python kodu çalıştırma
  • Kesme noktalarını ve koşulları ayarlama
  • Program durumunu inceleme ve değişkenleri değiştirme
  • Hata Ayıklayıcı pencerelerini ve eylemlerini keşfetme

Önkoşullar

Python dosyasını hazırlama

Hata ayıklama alıştırmasına hazırlanmak için python proje dosyanızı daha sağlam kod içerecek şekilde güncelleştirmek için şu adımları izleyin:

  1. Python proje dosyanızı (.py) düzenleyicide açın.

  2. Dosyadaki kodu aşağıdaki kodla değiştirin. Kodun bu sürümü, hata ayıklayıcıda make_dot_string ayrık adımlarını inceleyebilmeniz için işlevi genişletir. for döngüsü bir main işlevine taşınır ve ardından main işlevini çağırarak açıkça çalıştırılır.

    from math import cos, radians
    
    # Create a string with spaces proportional to a cosine of x in degrees
    def make_dot_string(x):
        rad = radians(x)                             # cos works with radians
        numspaces = int(20 * cos(rad) + 20)          # Scale to 0-40 spaces
        st = ' ' * numspaces + 'o'                   # Place 'o' after the spaces
        return st
    
    def main():
        for i in range(0, 1800, 12):
            s = make_dot_string(i)
            print(s)
    
    main()
    

Hata ayıklamayı başlatma

Artık Hata Ayıklayıcı'da güncelleştirilmiş Python kodunuzu denetlemeye başlamaya hazırsınız.

  1. Araç çubuğunda Hata Ayıklamayı Başlat> seçeneğini seçerek veya F5 klavye kısayolunu kullanarak kodun düzgün çalıştığını onaylayın. Bu komutlar kodu Hata Ayıklayıcı'da çalıştırır.

    Hata Ayıklayıcı herhangi bir sorun algılamaz, bu nedenle program başarıyla çalışır. Bir çıkış penceresi açılır ve kosinüs dalga deseninin birkaç yinelemesini görürsünüz. Çıkış penceresini kapatmak için herhangi bir anahtarı seçin.

    Tip

    Visual Studio'nun önceki sürümlerinde, program tamamlandığında çıkış penceresini otomatik olarak kapatabilirsiniz. Araçlar>Seçenekleri'ni seçin, Python>Hata Ayıklama düğümünü genişletin ve İşlem normal şekilde çıktığında girişi bekle seçeneğini temizleyin.

  2. Aşağıdaki yöntemlerden birini kullanarak döngü deyiminde for bir kesme noktası ayarlayın:

    • Kod satırı için sol kenar boşluğunda seçin.
    • Kod satırına sağ tıklayın ve Kesme Noktası> Ekle'yi seçin.
    • Ekleme işaretini kod satırına yerleştirin ve Hata Ayıklama>Kesme Noktası GeçişIni Seç'i seçin (veya F9 klavye kısayolunu kullanın).

    Kesme noktaları, program durumunu inceleyebilmeniz için işaretli bir noktada kodun yürütülmesini durdurur. Belirli bir kesme noktası olan her satırda kırmızı bir nokta görünür.

    Visual Studio'da Hata Ayıklayıcı'da kesme noktası ayarlamayı gösteren ekran görüntüsü.

  3. Hata Ayıklayıcıyı yeniden başlatın (F5). Programın çalışan kodu, ayarlanan kesme noktasıyla birlikte satırda durur. Artık çağrı yığınını inceleyebilir ve çalışan program kodunun bu durumunun değişkenlerini inceleyebilirsiniz.

    Visual Studio, aşağıdaki pencereler de dahil olmak üzere program kodunuzu ve yürütme verilerinizi gözlemlemek için birçok yol sağlar:

    • Çağrı yığını, program koduna göre işlev ve yöntem çağrılarının geçmişini gösterir.
    • Kapsam içindeki tanımlı değişkenler Otomatikler penceresinde görünür.
    • Yereller görünümü, Visual Studio'nun geçerli kapsamda bulduğu tüm değişkenleri (işlevler dahil) kodda tanımlanmadan önce bile gösterir.

    Kullanılabilir pencerelerin ve eylemlerin tam listesini görmek içinWindows> seçin.

    Bir kesme noktasıyla karşılaşıldığında program durumunuzu görüntülemek için Hata Ayıklayıcı pencerelerini açabilirsiniz:

    Visual Studio belirli bir kesme noktasında durduğunda program durumunu gösteren Hata Ayıklayıcı pencerelerinin ekran görüntüsü.

Hata Ayıklayıcı eylemlerini kullanma

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.

Visual Studio penceresinin üst kısmındaki Hata Ayıklayıcı araç çubuğu en yaygın hata ayıklama komutlarına hızlı erişim sağlar:

Visual Studio'da Hata Ayıklayıcı araç çubuğunun ekran görüntüsü.

Aşağıdaki tablo, araç çubuğunda soldan sağa göründüğü gibi bu komutları özetler.

Eylem Shortcut Description
Devam etmek F5 Sonraki kesme noktasına ulaşana kadar veya program tamamlanıncaya kadar kodu çalıştırın.
Tümünü Kes Ctrl+Alt+Break Uzun süre çalışan bir programı duraklat.
Hata Ayıklamayı Durdur Shift+F5 Programı mevcut noktada durdurun ve Hata Ayıklayıcı'dan çıkın.
Yeniden Başlatma Ctrl+Shift+F5 Programı geçerli noktada durdurun ve Hata Ayıklayıcı'da program yürütmesini baştan başlatın.
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.
Adım At F11 Sonraki deyimi çalıştırın ve durdurun. Eğer sonraki ifade bir işlev çağrısıysa, Hata Ayıklayıcı işlevin içine adım atar ve ilk satırda 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 Shift+F11 Geçerli fonksiyonun sonuna kadar kodu çalıştırın, ardından çağırma deyimine adım atın ve bekleyin. Bu komut, geçerli işlevin geri kalanında hata ayıklamanız gerekmeyen durumlarda kullanışlıdır.

Python kodunuzda Hata Ayıklayıcısı eylemleriyle çalışmak için şu adımları izleyin:

  1. for döngü deyimini Adım Adım Geç eylemini kullanarak geçin.

    Adımlama, Hata Ayıklayıcı'nın çağrılan herhangi bir işlev de dahil olmak üzere geçerli kod satırını çalıştırmasına ve hemen yeniden duraklatmasına neden olur. Üzerine adımladıktan sonra değişkenin i artık Locals ve Autos pencerelerinde tanımlandığına dikkat edin.

  2. İşlevi çağıran bir sonraki kod satırının make_dot_string üzerinden geçin.

    Bu örnekte, Adım Atla komutu Hata Ayıklayıcı'nın işlevi tamamen make_dot_string çalıştırmasına ve işlevden dönüşten sonra durmasına neden olur. Hata Ayıklayıcı, ayrı bir kesme noktası olmadığı sürece işlevin içinde durmaz.

  3. Kodun üzerinde birkaç kez daha adım adım ilerleyin ve Yerel Ayarlar veya Otomatikler penceresindeki değerlerin nasıl değiştiğini gözlemleyin .

  4. Yerel Ayarlar veya Otomatikler penceresinde, değeri düzenlemek üzere bir değişkenin Değer sütununa çift tıklayın. Bu örnekte değişkeninin değerini s olarak 'Hello, Python Application'değiştirin. Değeri tek tırnak içine aldığınızdan emin olun. Değişikliklerinizi uygulamak için Enter'ı veya değerin dışındaki herhangi bir alanı seçin.

    Visual Studio'da hata ayıklama sırasında Yereller penceresinde bir değişkenin değerinin nasıl değiştirildiğini gösteren ekran görüntüsü.

  5. Fonksiyon çağrısına kadar İçine Gir komutunu kullanarak kodda adım adım ilerleyin make_dot_string.

    bir işlev için Step Into , Hata Ayıklayıcı'nın hem işlevi çağırmasına hem de işlev koduna adım atmasına neden olur. Hata ayıklama işlemi bir işlevin içinde olduğunda, yerel değişkenlerini inceleyebilir ve kodunda doğrudan adım adım ilerleyebilirsiniz. Bu örnekte, Adımla eylemi make_dot_string işlevine girer.

  6. İşlevden çıkana kadar İçine Gir ile adımlamaya devam edin.

    İşlev kodunun make_dot_string sonuna ulaştığınızda, sonraki adım hata ayıklayıcısınıfor değişkendeki yeni dönüş değeriyle döngüye s döndürür.

    print ifadesine yeniden adım attığınızda, print ifadesindeki Adımla eyleminin bu işlevin içine girmediğini fark edeceksiniz. Bu davranışın nedeni, işlevin print Python'da yazılmamış olmasıdır. Python çalışma zamanının içindeki doğal kod.

  7. İşlevin bir parçası olana kadar make_dot_string kullanmaya devam edin, ardından Dışarı Adımla'yı kullanın ve Hata Ayıklayıcı'nın döngüye for geri döndüğünü fark edin.

    Step Out ile Hata Ayıklayıcı işlevin kalan kısmını çalıştırır ve ardından çağrı kodunda otomatik olarak duraklatır. Bu eylem, uzun bir işlevin bazı bölümlerinde adım adım ilerledikten ve işlev gözleminizi sonlandırmak istediğinizde yararlı olur. Dışarı Çık, kalan kodda ya da çağıran kodda ayarlanmış bir kesme noktasına ulaşana kadar geçiş yapar.

  8. Devam (F5) kullanarak sonraki kesme noktasına ulaşılana kadar programı çalıştırmaya devam edin. Döngüde for ayarlanmış bir kesme noktanız olduğundan, sonraki yinelemede durursunuz.

    s penceresinde değişkenin değişen değerini gözlemleyerek programın yürütülmeye devam ettiğini onaylayabilirsiniz.

Kesme noktası koşullarını kullanma

Bir döngünün yüzlerce yinelemesinde gezinmek yorucu olabilir, bu nedenle Visual Studio kesme noktasına bir koşul eklemenize olanak tanır. Kesme noktası koşulu ayarladığınızda , Hata Ayıklayıcı programı yalnızca koşul karşılandığında kesme noktasında duraklatır.

Aşağıdaki adımlarda, for yalnızca değişkenin değeri i 1600'ü aştığında duraklatılması için döngü deyiminde kesme noktası koşulunun nasıl tanımlanacağı gösterilmektedir:

  1. Kesme noktası koşulunu ayarlamak için kırmızı kesme noktası noktasına sağ tıklayın ve Koşullar'ı seçin veya Alt+F9>C klavye kısayolunu kullanın.

  2. Kesme Noktası Ayarları açılan iletişim kutusunda Koşul'u oluşturmak için aşağıdaki ayarları yapılandırın:

    1. Koşul türünü Koşullu İfade olarak ayarlayın.

    2. Koşul değerlendirmesini True olarak tanımlayın.

    3. Koşul değeri olarak girin i > 1600 .

    4. Kapat'ıseçin.

    Visual Studio'da Hata Ayıklayıcı'da koşullu kesme noktası ayarlamayı gösteren ekran görüntüsü.

  3. Hata ayıklamaya ve program yürütmeye devam etmek için F5'i seçin. Programın koşullu kesme noktasına ulaşmadan önce birçok yineleme çalıştırdığını gözlemleyin.

    Hata Ayıklayıcı'nın koşullu kesme noktasına ulaştığında program yürütmeyi doğru şekilde duraklattığını onaylayabilirsiniz. Koşul karşılandığında, Locals penceresi değişken değerini olarak igösterir1608.

  4. Programı tamamlanmak üzere çalıştırmak için kesme noktasını devre dışı bırakabilir ve program yürütmeye devam edebilirsiniz.

    1. Kırmızı noktanın üzerine gelin ve Devre dışı bırak'ı seçin veya kırmızı noktaya sağ tıklayıp Kesme noktasını devre dışı bırak'ı seçin.

    2. Programı çalıştırmak için Devam'ı seçin (veya F5 tuşuna basın).

    Program sona erdiğinde, Visual Studio hata ayıklama oturumunu durdurur ve düzenleme moduna döner.

    Kesme noktasını da silebilirsiniz. Kırmızı noktayı seçin veya noktaya sağ tıklayın ve Kesme noktasını sil'i seçin. Bu eylem tanımlı koşulları da siler.

Tip

Python yorumlayıcısını başlatma hatası gibi bazı durumlarda Python çıkış penceresi, program duraklatılmadan ve Devam etmek için herhangi bir tuşa basın istemini göstermeden tamamlandıktan hemen sonra kapanabilir. Duraklatma ve istem zorlamak için, -i argümanını Çalıştır>Yorumlayıcı Bağımsız Değişkenleri alanına, Hata Ayıklama sekmesinde ekleyin. Bu argüman, kod çalıştırıldıktan sonra Python yorumlayıcısını etkileşimli moda alır. Program, pencereyi kapatmak için Ctrl+Z+Enter'ı seçmenizi bekler.

Sonraki adım