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