Visual Studio Conditional Breakpoint Kullanımı

20 Haz 2019 · 1 dk okuma süresi

Problem Tanımı

Visual Studio ile geliştirme yapıyorsunuz ve yanlış parametre geçildiğini fark ettiğiniz bir fonksiyonunuz var. Bu fonksiyon birçok yerden çağrılan bir fonksiyon. Yanlış parametrenin hangi fonksiyon çağrısından geldiğini nasıl bulabilirim?

Çözüm

Visual Studio: yanlış parametrenin hangi fonksiyondan geldiğini öğrenmek için

  1. Fonksiyonun başladığı kod satırına breakpoint ekleyin.

  2. Breakpoint’e sağ tıklayıp Condition seçeneğini seçin.

  3. Breakpoint Condition dialog kutucuğundan Condition seçeneğini(checkbox) işaretleyin. (Ayrıca bkz: Advanced Breakpoints)

  4. Kutucuğa Var==3 şeklinde bir ifade giriniz. Buradaki ‘Var’ yanlış parametreyi içeren değişkenin ismi; ‘3’ değeri de istemediğimiz yanlış parametre değerini ifade ediyor.

  5. is True radio butonuna, ardından da OK butonuna tıklayın.

  6. Şimdi program yeniden çalıştırın. Breakpoint Var değişkeninin 3 değerine sahip olması durumunda fonksiyonun başında programı durduracaktır.

  7. Şimdi ise Call Stack penceresini kullanarak çağrılan fonksiyonu bulun ve kodun bulunduğu kısma gidin. (Ayrıca bkz: Call Stack Penceresi Nasıl Kullanılır?)

Kaynak: https://docs.microsoft.com/en-gb/visualstudio/debugger/how-can-i-find-out-who-is-passing-a-wrong-parameter-value-q?view=vs-2019&ocid=AID2339755_TWITTER_oo_spl100000761901220