2011-05-18 12 views
22

Bazı belirli değişkenlerin tanımlanmış bir değeri olduğunda hata ayıklayıcısını nasıl durdurabilirim? Örneğin, bazı postprocessing yapmak için bu 10000 kez döngüler çarpışmış bir kod var. Hata 7000 iterasyondan üretilebileceğini biliyorum, bu yüzden oradan durdurmak istiyorum, ilk 7000'den manüel döngüden kaçınmak istiyorum. Visual studio 2008 ve 2010'u C# kullanarak imarım. Çözümün ikisi için de aynı.Hata ayıklayıcıyı belirli bir değişken değerde nasıl durdurabilirim?

cevap

35

Aradığınız şey koşullu bir kesme noktasıdır. Değişkenler isminin i olduğunu varsayarak bunu nasıl ayarlayabilirsiniz. değeri

  • Sağ sizin için kontrol etmek istediğiniz koşul girin kesme noktası kırmızı nokta kısmını tıklayın ve "Durum"
  • seçmek ayarlandıktan sonra
    • hattında normal kesme noktası ayarlayın. Örnek: i == 10000
    • Hit TAMAM

    Şimdi tekrar senaryoyu çalıştırmak ve i değeri 10000 eşittir yalnızca kesme isabet edilecektir.

    Uyarı kelimesi. Herhangi bir yasal C# ifadesini koşullu bir ara noktaya koyabilirsiniz, ancak kırılma noktasının her vurulduğunda değerlendirilir. Bu, karmaşık bir koşullu kullanımı

  • +0

    Mükemmel @Jared, bu bağlam menüsü de başkalarını durdurma mekanizmasını sunuyor, asla aklıma geçmeden kırmızı topa sağ tıkla, teşekkürler. – mjsr

    +0

    Sadece değişken değer (değişken isim olmadan) biliyorsanız, ne olur? Yerel değişkenlerden herhangi birinin aradığım değeri ataması durumunda kodu kırmak mümkün mü? – matandked

    -2

    yapmak için kolay bir yoldur:

    halinde (nameVariable = X) { breakpoint: nameVariable; }

    +2

    kullanmak çok yavaş hata ayıklama neden olabilir, çünkü bu kodu değiştirmeniz gerektiğinden, zor yolu. – sbi

    0

    Kesme noktası penceresini açın ve menüsünden yeni bir veri kesme noktası oluşturun.

    İlgili konular