Visual Studio'da IntelliTrace geçmiş hata ayıklaması ile uygulamanızı inceleme (C#, Visual Basic, C++)

Uygulamanızın yürütülmesinde geriye ve ileriye gitmek ve durumunu incelemek için geçmiş hata ayıklamayı kullanabilirsiniz.

IntelliTrace'i Visual Studio Enterprise sürümünde kullanabilirsiniz ancak Professional veya Community sürümlerinde kullanamazsınız.

Hata içeren basit bir programla başlayalım. C# konsol uygulamasında aşağıdaki kodu ekleyin:

static void Main(string[] args)
{
    int testInt = 0;
    int resultInt = AddIterative(testInt);
    Console.WriteLine(resultInt);
}
private static int AddIterative(int j)
{
    for (int i = 0; i < 20; i++)
    {
        j = AddInt(j);
    }
    return j;
}

private static int AddInt(int add)
{
    if (add == 10)
    {
        return add += 25;
    }
    return ++add;
}

Çağrıdan AddIterative() sonra beklenen değerinin resultInt 20 olduğunu (20 kat artırmanın testInt sonucu) olduğunu varsayacağız. (Ayrıca hatanın AddInt()içinde olmadığını da varsayacağız). Ancak sonuç aslında 44'dür. 10 kez adımlamadan AddIterative() hatayı nasıl bulabiliriz? Hatayı daha hızlı ve daha kolay bulmak için geçmiş hata ayıklamayı kullanabiliriz. Şunu yapabilirsiniz:

  1. Araçlar Seçenekleri IntelliTrace > Genel'de IntelliTrace'in etkinleştirildiğinden emin olun ve IntelliTrace olayları ve çağrı bilgileri'ni seçin.> > Bu seçeneği belirlemezseniz gezinti oluklarını göremezsiniz (aşağıda açıklandığı gibi).

  2. Satırda Console.WriteLine(resultInt); bir kesme noktası ayarlayın.

  3. Hata ayıklamayı başlatın. Kod kesme noktasına yürütülür. Yerel Ayarlar penceresinde değerinin resultInt 44 olduğunu görebilirsiniz.

  4. Tanılama Araçları penceresini açın (Tanılama Araçlarını Göster Hatalarını Ayıkla>). Kod penceresi şöyle görünmelidir:

    Code window at the breakpoint

  5. Sol kenar boşluğunun yanında kesme noktasının hemen üstünde bir çift ok görmeniz gerekir. Bu alan gezinti cilt payı olarak adlandırılır ve geçmiş hata ayıklaması için kullanılır. Oka tıklayın.

    Kod penceresinde, önceki kod satırının (int resultInt = AddIterative(testInt);) pembe renkli olduğunu görmeniz gerekir. Pencerenin üzerinde, geçmiş hata ayıklamada olduğunuzu belirten bir ileti görmeniz gerekir.

    Kod penceresi şimdi şöyle görünür:

    code window in historical debugging mode

  6. Artık yöntemine AddIterative() (F11 veya gezinti bölmesindeki Adımla düğmesi) adımlayabilirsiniz. İleri adım (F10 veya gezinti bölmesinde Sonraki Arama'ya git). Pembe çizgi artık çizginin j = AddInt(j); üzerinde. Bu durumda F10 , bir sonraki kod satırına adım atmıyor. Bunun yerine, sonraki işlev çağrısına ilerler. Geçmiş hata ayıklama çağrısından çağrısına gider ve işlev çağrısı içermeyen kod satırlarını atlar.

  7. Şimdi yöntemine AddInt() geçin. Hatayı bu kodda hemen görmeniz gerekir.

Bu yordam, geçmiş hata ayıklama ile yapabileceklerinin yüzeyini çizer.

  • Hata ayıklama sırasında anlık görüntüleri görüntülemek için bkz . IntelliTrace kullanarak önceki uygulama durumlarını inceleme.
  • Gezinti bölmesindeki farklı ayarlar ve farklı düğmelerin etkileri hakkında daha fazla bilgi edinmek için bkz . IntelliTrace Özellikleri.