C# 單步執(zhí)行代碼
Visual Studio進(jìn)入中斷模式后,在代碼視圖的左邊,馬上要執(zhí)行的代碼旁邊會出現(xiàn)一個黃色箭頭光標(biāo)(如果使用斷點(diǎn)進(jìn)入中斷模式,該光標(biāo)最初應(yīng)顯示在斷點(diǎn)的紅色圓圈中)。
?Step Into—執(zhí)行并移動到下一條要執(zhí)行的語句上
?Step Over—同上,但不進(jìn)入嵌套的代碼塊,包括函數(shù)
?Step Out—執(zhí)行到代碼塊的末尾處,在執(zhí)行完該語句塊后,重新進(jìn)入中斷模式
如果要查看應(yīng)用程序執(zhí)行的每個操作,可以使用&ep Into按順序執(zhí)行指令,這包括在函數(shù)中的執(zhí)行,如上面示例中的Maxima()。當(dāng)光標(biāo)到達(dá)第16行,調(diào)用Maxima()時,單擊這個圖標(biāo),會使光標(biāo)移到Maxima()函數(shù)內(nèi)部的第一行代碼上。而如果光標(biāo)移到第16行時單擊Step Over,就會使光標(biāo)移動到第17行,不進(jìn)入Maxima()中的代碼(但仍執(zhí)行這段代碼)。如果單步執(zhí)行到不感興趣的函數(shù),可以單擊Step Out,返回到調(diào)用該函數(shù)的代碼。在單步執(zhí)行代碼時,變量的值可能會發(fā)生變化。注意觀察上一節(jié)討論的Watch窗口,可以看到變量值的變化情況。
通過右擊代碼行并選擇Set Next Statement,或?qū)ⅫS色箭頭拖到不同的代碼行,也可以更改接下來要執(zhí)行的代碼行。這有時是不可行的,例如當(dāng)跳過變量初始化時。但是,當(dāng)跳過存在問題的代碼行來查看發(fā)生的情況時,或向后移動箭頭來重復(fù)執(zhí)行代碼時。這種方法是非常有用的。
在存在語義錯誤的代碼中,這些技巧也許是最有效的??梢詥尾綀?zhí)行代碼,當(dāng)執(zhí)行到有錯誤的代碼時,錯誤會像正常運(yùn)行程序那樣發(fā)生?;蛘呖梢孕薷膱?zhí)行代碼,讓語句多次執(zhí)行。在這個過程中,可以監(jiān)視數(shù)據(jù),看看什么地方出了錯。
點(diǎn)擊加載更多評論>>