|
注:如無特別說明Visual Studio均指Dev10即Visual Studio 2010。
入門篇
假設(shè)你是有著.NET平臺的程序員,并且使用Visual Studio 做為開發(fā)工具。
斷點:最簡單的一種,設(shè)置一個斷點,程序執(zhí)行到那一句就自動中斷進入調(diào)試狀態(tài)。設(shè)置斷點,在你覺得有問題的代碼行,左側(cè)單擊,會出現(xiàn)紅色的紅點即斷點。
啟動調(diào)式:按F5,或者菜單欄---調(diào)式---開始調(diào)試,或者工具欄的圖標:
快速監(jiān)視:快速查看變量或者表達式的值,也可以自定義表達式進行計算:
單步執(zhí)行
有三種,一種是每次執(zhí)行一行(F10);一種是每次執(zhí)行一行,但遇到函數(shù)調(diào)用就會跳到被調(diào)用的函數(shù)里(F11);一種是直接執(zhí)行當前函數(shù)里剩下的指令,返回上一級函數(shù)(Shift+F11)。
還有一種后悔藥,設(shè)為下一句(Set Next Statement),即下一句會被執(zhí)行的語句(右擊設(shè)置或者快捷鍵:Ctrl+Shift+F10),但要注意在調(diào)試與數(shù)據(jù)有關(guān)的時候,設(shè)置下一句有可能會報異常。如在調(diào)試向DataTable中添加行的時候,已經(jīng)存在的行不能重復(fù)被添加到DataTable中。
監(jiān)視
調(diào)試器可能會自動列出一些相關(guān)變量的值,但是你可能還關(guān)心其它變量的值,可以添加對這些變量的監(jiān)視。還可以監(jiān)視一個表達式的值,比如a+b。但是,這個表達式最好不要修改變量的值,比如監(jiān)視a++都會導致監(jiān)視時修改了a的值,影響了程序的運行結(jié)果。
調(diào)試技巧篇
使用快捷鍵會大大提升我們的調(diào)試效率,常用的調(diào)試快捷鍵:
F5 啟動調(diào)試
F10 執(zhí)行下一行代碼,但不執(zhí)行任何函數(shù)調(diào)用。
F11 在執(zhí)行進入函數(shù)調(diào)用后,逐條語句執(zhí)行代碼。
Shift + F11 執(zhí)行當前執(zhí)行點所處函數(shù)的剩余行。
Shift + F5 停止運行程序中的當前應(yīng)用程序。可用于“中斷”模式和“運行”模式。
條件中斷
假如你寫了個for循環(huán),而且循環(huán)的次數(shù)比較多,如下代碼,現(xiàn)在我們知道在i=50的時候會有異常,那我們不可能按50次F5去調(diào)試這代碼,不然這效率。
private void ConditionDebug()
{
for (int i = 0; i < 100; i++)
{
if (i==50)
{
//some error code here
Console.WriteLine("i=50 here");
}
}
}
NET技術(shù):C#調(diào)試心經(jīng),轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。