對於變量跟蹤主要依靠設置斷點,逐語句逐過程調試
查看變量的值:
2)將鼠標放到要查看的變量上,停留一會
臨時改變變量值:
1)通過“即時窗口”(調試->窗口->即時),可以在程序運行過程中(當然是在斷點狀態下),臨時改變某個變量的取值(比如在即時窗口中輸入Width = 32,然後回車使其生效,左邊局部變量會將改的值顯示爲紅色)!
2)直接在局部變量的值上雙擊,再輸入要改的值
3)鼠標停留在要改的變量上,在彈出的變量值上單擊,輸入要改的值
優點:可以不必爲調試變量的每一個取值而不停地終止測試/修改代碼/重新調試,尤其當需要反覆測試一個變量的正常取值時。
VS在調試變量時有很多的優點,它在設置斷點時同樣有很多好玩的東東哦:
1)它可以在代碼的任意位置設置斷點。比果有些人喜歡把多行代碼寫在一行,如:語句for(int i = 0; i < 10; i++){if(i == 5) j = 5;}寫在一行,想要在j = 5;這裏設置斷點,只要將鼠標移動j = 5;前面,右擊 -> 斷點 -> 插入斷點 就可以了。
2)循環內部指定次數後中斷。在一個1000次的循環內部設置斷點,當循環進行到900次後中斷。如程序:
for (int i = 0; i < 1000; i++)
{
if (i == 901)
j = 5;
}
在循環的大括號上插入斷點,再右擊斷點的小紅點,會彈出下圖的菜單窗口來
選擇“條件”,在彈出的“條件”對話框中設置斷點命中條件i == 900
這裏要注意的一點是這裏的條件語法要和程序用的編程語言語法一樣,不過默認是與當前項目相同的編程語言。不同時可以按Ctrl+B來改。
3)指定變量值改變時中斷。你有一個表達式在循環的某一次發生變化,你想知道是哪一次,在哪個地方改變的。如上面的程序,要在變量j的值改變時中斷(當然這個程序很簡單一看就知道,若循環裏有很複雜的函數在裏面這就樣做就很有必要了),還是如上,在循環的 大括號上設置斷點,同樣打開斷點條件對話框,條件設置爲j,鉤選“已更改”就可以了
4)指定條件下,間斷性中斷。比如你希望你的斷點在被命中100次後,每命中三次中斷一次,比如第103、第106、第109這樣。方法是設定幾個斷點的命中次數,右鍵單擊斷點,在彈出的菜單中選擇“命中次數”會彈出如下對話框.
有幾個命中斷點條件,可以選擇你想要的條件設置斷點。
在VS的斷點設置中還有很多的功能,在這就不詳談了,可以自己去嘗試…
轉自:http://zengwu3915.blog.163.com/blog/static/27834897200971313913153/