target version:VS 2013 Community(ENG)、VS 2013 Ultimate(ch-tw)、VS 2010 Ultimate
最基本的加入斷點(BreakPoint)
此時你就可以觀察運行中的程式狀態,一般我們觀察的重點是變數
左下角的小視窗組是 Debugger Variable Windows
- Autos:檢視目前行 + 上一行的變數狀態。
- Local:目前方法中的所有變數狀態。
- Watch:指定的變數狀態。
反白變數或敘述式後滑鼠右鍵,選加入監看式(此操作須先進入除錯模式)
每看完一個斷點,我們可以使用 F5、F10 或 F11 繼續程式的逐步執行
- F5:執行到下一個斷點
- F10:逐行執行但不進入碰到的函式
- F11:逐行執行且進入碰到的函式
- Ctrl + F10:執行到游標位置
ex. F11 碰到函式Func會進入(假如該看的看完了,可以Shift + F11跳出函式)
逐行操作搭配 Variable Windows 一般我們可以輕易地了解發生錯誤當下程式的狀態
在知道邏輯問題條件的前提下,我們可以在斷點右鍵進行條件設定,如此就只會在符合條件時程式才會進入斷點。
右下角的視窗除了 BreakPoints 之外,我比較常用的是 CallStack,它可以追蹤你是透過那些函式一路從進入點到達目前方法的。
15/6/7 使用 Visualizer
把游標移到變數上,若它是 Visualizer 有支援的類型就會出現小放大鏡,按它
有些無法(或不方便)用游標快速檢視的東西,也可以用 shift + F9 快速監看中提供的視覺化檢視來觀看(或 copy)。 例如以下是一個經過許多拼湊的 StringBuilder 其中的內容為一連串的 SQL command。
題外話,PICASA 莫名的吃掉了我之前作的很多範例圖,所以這篇有三個不同版本的 IDE 的內容,中英文就自己翻譯一下吧...
15/10/15 偵錯時包含 try catch 中的內容
今天被叫去看之前寫的 Excel 匯入的問題,但在改寫的過程中我完全沒有發現,因為該問區域被 try catch 的好好的,所以只有那部分錯的時候匯入結果看起都還是正常,引起我好奇的是既然結果看起來是正常的,頭兒是怎麼知道那裏有個 Exception?
2016/04/22 暫停鈕
沒有留言:
張貼留言