Aracılığıyla paylaş


Hızlı Başlangıç: Visual Studio hata ayıklayıcısını kullanarak C++ ile hata ayıklama

Visual Studio hata ayıklayıcısı, uygulamalarınızda hata ayıklamanıza yardımcı olacak birçok güçlü özellik sağlar. Bu konu, bazı temel özellikleri öğrenmek için hızlı bir yol sağlar.

Yeni proje oluşturma

  1. Visual Studio'yu açın ve bir proje oluşturun.

    Başlangıç penceresi henüz açık değilse Dosya > Başlangıç Penceresi'ni seçin. Başlangıç penceresinde yeni proje oluşturseçin. Arama kutusuna "Boş proje" yazın ve ardından C++ Boş Proje şablonunu seçin.

    Proje şablonunu görmüyorsanız Visual Studio Yükleyicisi'ni açın. C++ iş yüküyle Masaüstü geliştirme'yi ve ardından Değiştir'i seçin.

    Visual Studio projeyi oluşturur.

    adlı yeni bir kaynak dosyası oluşturma MyDbgApp.cpp

  2. MyDbgApp.cpp'de aşağıdaki kodu değiştirin

    int main()
    {
        return 0;
    }
    

    bu kodla (çıkarmayın #include "stdafx.h"):

    #include <list>
    #include <iostream>
    
    using namespace std;
    
    void doWork()
    {
        list <int> c1;
    
        c1.push_back(10);
        c1.push_back(20);
    
        const list <int> c2 = c1;
        const int &i = c2.front();
        const int &j = c2.front();
        cout << "The first element is " << i << endl;
        cout << "The second element is " << j << endl;
    
    }
    
    int main()
    {
        doWork();
    }
    

Kesme noktası ayarlama

Kesme noktası, değişkenlerin değerlerine, bellek davranışına veya bir kod dalının çalıştırılıp çalıştırılmadığına bakabilmeniz için Visual Studio'nun çalışan kodunuzu nerede askıya alması gerektiğini gösteren bir işaretçidir. Hata ayıklamanın en temel özelliğidir.

  1. Kesme noktasını ayarlamak için işlev çağrısının sol doWork kısmındaki olukta tıklayın (veya kod satırını seçip F9 tuşuna basın).

    Kesme noktası ayarlama

  2. Şimdi F5 tuşuna basın (veya Hata Ayıklamayı > Başlat Hata Ayıklama'yı seçin).

    Kesme noktasına çarpma

    Hata ayıklayıcı, kesme noktasını ayarladığınız yerde duraklatılır. Hata ayıklayıcı ve uygulama yürütmenin duraklatıldığı ifade sarı okla gösterilir. İşlev çağrısına doWork sahip satır henüz yürütülmedi.

    Tavsiye

    Döngüde veya özyinelemede kesme noktanız varsa veya sık sık ilerlediğiniz çok sayıda kesme noktanız varsa, kodunuzun YALNIZCA belirli koşullar karşılandığında askıya alınmasını sağlamak için koşullu kesme noktası kullanın. Koşullu kesme noktası zamandan tasarruf sağlar ve yeniden oluşturması zor olan sorunların hatalarını ayıklamayı da kolaylaştırabilir.

    C++'ta bellekle ilgili hatalarda hata ayıklamaya çalışırken, adres değerlerini (NULL araması) ve başvuru sayılarını incelemek için kesme noktalarını da kullanabilirsiniz.

Hata ayıklayıcıya devam etme talimatı veren farklı komutlar vardır. Visual Studio 2017'den itibaren kullanılabilen kullanışlı bir kod gezinti komutu gösteriyoruz.

Kesme noktasında duraklatılmış durumdayken, yeşil c1.push_back(20) butonu Çalıştırmak için Tıklayın görünene kadar deyimin Run to ClickRunToClick üzerine gelin ve ardından Çalıştırmak için Tıklayın düğmesine basın.

Çalıştırmak için tıklayın

Uygulama yürütmeye devam eder, doWork komutunu çağırır ve düğmeye tıkladığınız kod satırında durur.

Kodda adım adım ilerletmek için kullanılan yaygın klavye komutları arasında F10 ve F11 bulunur. Daha ayrıntılı yönergeler için bkz. Hata ayıklayıcıya ilk bakış.

Veri ipucu içindeki değişkenleri inceleme

  1. Geçerli kod satırında (sarı yürütme işaretçisi ile işaretlenmiş), bir veri ipucu göstermek için farenizle nesnenin c1 üzerine gelin.

    Veri ipucunu görüntüle

    Veri ipucu, değişkenin geçerli değerini c1 gösterir ve özelliklerini incelemenize olanak tanır. Hata ayıklarken, beklemediğiniz bir değer görürseniz, büyük olasılıkla yukarıdaki kod satırlarında veya çağrı satırlarında bir hata vardır.

  2. Nesnenin güncel özellik değerlerini görmek için c1 nesnesinin üzerindeki veri ipucunu genişletin.

  3. Kodu yürütürken c1 değerini görmeye devam etmek istiyorsanız veri ipucunu sabitlemek için küçük sabitleme simgesine tıklayın. (Sabitlenmiş veri ipucunun uygun bir konuma taşınmasını sağlayabilirsiniz.)

Kodu düzenleme ve hata ayıklamaya devam etme

Hata ayıklama oturumunun ortasındayken kodunuzda test etmek istediğiniz bir değişikliği tanımlarsanız, bunu da yapabilirsiniz.

  1. c2.front() öğesinin ikinci örneğine tıklayın ve c2.front()’yi c2.back() ile değiştirin.

  2. Hata ayıklayıcıyı ilerletmek ve düzenlenen kodu yürütmek için birkaç kez F10'a (ya da Hata Ayıklama > Adım Geç) basın.

    Düzenle ve devam et

    F10 hata ayıklayıcıyı her seferinde bir deyim ilerletir, ancak işlevlerin içerisine adım atmak yerine üzerinden geçer (ancak atladığınız kod yine de çalıştırılır).

Düzenle ve devam et ve özellik sınırlamalarını kullanma hakkında daha fazla bilgi için bkz. Düzenle ve Devam Et.

Sonraki adımlar

Bu öğreticide hata ayıklayıcıyı başlatmayı, kodda adım adım ilerleyip değişkenleri incelemeyi öğrendiniz. Daha fazla bilgi için bağlantılarla birlikte hata ayıklayıcısı özelliklerine üst düzey bir bakış elde etmek isteyebilirsiniz.