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.
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
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ştur
seç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
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.
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).Şimdi F5 tuşuna basın (veya Hata Ayıklamayı > Başlat Hata Ayıklama'yı seçin).
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.
Kodda gezinme
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.
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
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 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.Nesnenin güncel özellik değerlerini görmek için
c1
nesnesinin üzerindeki veri ipucunu genişletin.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.
c2.front()
öğesinin ikinci örneğine tıklayın vec2.front()
’yic2.back()
ile değiştirin.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.
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.