- 相關(guān)推薦
計算機(jī)等級考試二級VB考點:程序調(diào)試
在設(shè)計模式下可以進(jìn)行程序的界面設(shè)計、屬性設(shè)置、代碼編寫等,標(biāo)題欄上顯示“設(shè)計”,在此模式下不能運(yùn)行程序,也不能使用調(diào)試工具。你知道什么是程序調(diào)試嗎?下面是小編為大家?guī)淼年P(guān)于程序調(diào)試的知識,歡迎閱讀。
1.VB的調(diào)試工具
(1)設(shè)置自動語法檢查
打開工具菜單 → 單擊選項命令 → 選擇 編輯器 頁面 →將 自動語法檢測 勾上。
(2)利用VB調(diào)試工具欄
利用該工具欄可以運(yùn)行程序、中斷運(yùn)行、在程序中設(shè)置間斷點、監(jiān)視變量、單步調(diào)試、過程跟蹤等操作。
2. VB的三種模式
(1)設(shè)計模式
在設(shè)計模式下可以進(jìn)行程序的界面設(shè)計、屬性設(shè)置、代碼編寫等,標(biāo)題欄上顯示“設(shè)計”,在此模式下不能運(yùn)行程序,也不能使用調(diào)試工具。
(2)運(yùn)行模式
執(zhí)行“運(yùn)行”菜單中的“啟動”命令或單擊工具欄上的啟動按鈕或按F5鍵,即由設(shè)計模式進(jìn)入運(yùn)行模式,標(biāo)題欄顯示“運(yùn)行”,在此階段可以查看程序代碼,但不能修改。若要修改,必須單擊工具欄上的“結(jié)束”按鈕,回到設(shè)計模式,也可以選擇“中斷”按鈕,進(jìn)入中斷模式。
(3)中斷模式
當(dāng)程序運(yùn)行時單擊了“中斷”按鈕,或當(dāng)程序出現(xiàn)運(yùn)行錯誤時,都可以進(jìn)入中斷模式,在此模式下,運(yùn)行的程序被掛起,可以查看代碼、修改代碼、檢查數(shù)據(jù)。修改結(jié)束,單擊“繼續(xù)”按鈕可以繼續(xù)程序的運(yùn)行,也可以單擊“結(jié)束”按鈕停止程序的執(zhí)行。
3. 常見錯誤
(1) 編輯時錯誤
當(dāng)用戶在代碼窗口編輯代碼時,VB會對程序進(jìn)行語法檢查,當(dāng)發(fā)現(xiàn)語句沒有輸完、關(guān)鍵字輸錯等情況時,系統(tǒng)會彈出對話框,提示出錯,并在錯誤處加亮顯示,以便用戶修改。
(2)編譯時錯誤
是指用戶單擊了“啟動”按鈕,VB開始運(yùn)行程序前,先編譯執(zhí)行的程序段時產(chǎn)生的錯誤,此錯誤是由于用戶未定義變量、遺漏關(guān)鍵字等原因而產(chǎn)生的。發(fā)現(xiàn)錯誤時系統(tǒng)會停止編譯,提示用戶修改。
(3)運(yùn)行時錯誤
指VB在編譯通過后,運(yùn)行代碼時發(fā)生的錯誤,一般是由于指令代碼執(zhí)行了非法操作引起的,如:數(shù)據(jù)類型不匹配、試圖打開一個不存在的文件等。系統(tǒng)會報錯并加亮顯示、等候處理。
(4)邏輯錯誤
如果程序運(yùn)行后得不到所希望的結(jié)果,則說明存在邏輯錯誤。如:運(yùn)算符使用不正確,語句的次序不對、循環(huán)語句的起始、終值不正確。這種錯誤系統(tǒng)不會報錯,需要用戶自己分析判斷。
4.程序調(diào)試方法
(1)進(jìn)入/退出中斷狀態(tài)
進(jìn)入中斷狀態(tài)有四種方法:
1) 程序運(yùn)行時發(fā)生錯誤自動進(jìn)入中斷
2) 程序運(yùn)行中用戶按中斷鍵強(qiáng)制進(jìn)入中斷
3) 用戶在程序中預(yù)先設(shè)置了斷點,程序執(zhí)行到斷點處即進(jìn)入中斷狀態(tài)
4) 在采用單步調(diào)試方式,每運(yùn)行一個可執(zhí)行代碼后,即進(jìn)入中斷狀態(tài)。
(2) 利用調(diào)試窗口
1) 立即窗口
這是調(diào)式窗口中使用最方便、最常用的窗口?梢栽诔绦蛑杏肈ebug.Print方法,把輸出送到立即窗口,也可以在該窗口中直接使用Print語句或?顯示變量的值。
2) 本地窗口
該窗口顯示當(dāng)前過程中所有變量的值,當(dāng)程序的執(zhí)行從一個過程切換到另一個過程時,該窗口的內(nèi)容發(fā)生改變,它只反映當(dāng)前過程中可用的變量。
3) 監(jiān)視窗口
該窗口可顯示當(dāng)前的監(jiān)視表達(dá)式,在此之前必須在設(shè)計階段,利用調(diào)試菜單的“添加監(jiān)視命令”或“快速監(jiān)視”命令添加監(jiān)視表達(dá)式以及設(shè)置的監(jiān)視類型在運(yùn)行時顯示在監(jiān)視窗口,根據(jù)設(shè)置的監(jiān)視類型進(jìn)行相應(yīng)的顯示。
(3)插入斷點和逐句跟蹤
在調(diào)試程序時,通;卦O(shè)置斷點來中斷程序的運(yùn)行,然后逐句跟蹤檢查相關(guān)變量、屬性和表達(dá)式的值是否在預(yù)期的范圍內(nèi)。
可在中斷模式下或設(shè)計模式時設(shè)置或刪除斷點,在代碼窗口選擇懷疑存在問題的地方作為斷點,按下F9鍵,則程序運(yùn)行到斷點處即停下,進(jìn)入中斷模式,在此之前所關(guān)心的變量、屬性、表達(dá)式的值都可以看到。
php異步調(diào)試和線上調(diào)試網(wǎng)站程序
代碼如下
//ini_set(error_reporting,E_ALL ^ E_NOTICE);//顯示所有除了notice類型的錯誤信息
ini_set(error_reporting,E_ALL);//顯示所有錯誤信息
ini_set(display_errors,off);//禁止將錯誤信息輸出到輸出端
ini_set(log_errors,On);//開啟錯誤日志記錄
ini_set(error_log,C:/phpernote);//定義錯誤日志存儲位置
另外附加兩句比較常用的排除錯誤信息的PHP語句:
代碼如下
@ini_set(memory_limit,500M);//設(shè)置程序可占用最大內(nèi)存為500MB
@ini_set(max_execution_time,180);//設(shè)置允許程序最長的執(zhí)行時間為180秒
補(bǔ)充
die()和exit()也是我們常用的php調(diào)試一個方法
die()和exit()函數(shù)都有終止線程的作用,是php斷點調(diào)試需要使用的最主要的函數(shù),它們也是php程序員使用非常頻繁的函數(shù)。然而兩者又有什么區(qū)別呢?在程序調(diào)試時需要注意什么問題呢?
die()函數(shù)一般與“or”一并使用,寫作“or die()”,經(jīng)常看到這樣的語句:
代碼如下
$file = fopen($filename, r) or die("抱歉,無法打開: $filename")
or在這里是這樣理解的,因為在PHP中并不區(qū)分?jǐn)?shù)據(jù)類型,所以$file既可以是int也可以bool,所以這樣的語句不會報錯。但其處理過程可能有些朋友不大明白。其實在大多數(shù)的語言中, bool or bool這樣的語句中,如果前一個值為真后一個值就不會再判斷了。這里也是的,所以如果fopen函數(shù)執(zhí)行正確的話,會返回一個大于0的int值(這其實就是"真"),后面的語句就不會執(zhí)行了。如果fopen函數(shù)執(zhí)行失敗,就會返回false,那么就會判斷后面的表達(dá)式是否為真了。結(jié)果執(zhí)行了die()之后,不管返回什么,程序都已經(jīng)停止執(zhí)行了,并且顯示指定的出錯信息,也就達(dá)到了調(diào)試的目的。就這樣。
實際上,die和exit是等價的,都是用來終止當(dāng)前腳本。
php手冊對兩者的解釋如是說:
exit()函數(shù)輸出一條消息,并退出當(dāng)前腳本。該函數(shù)是 die()函數(shù)的別名。
die()函數(shù)輸出一條消息,并退出當(dāng)前腳本。該函數(shù)是 exit()函數(shù)的別名。
【計算機(jī)等級考試二級VB考點:程序調(diào)試】相關(guān)文章:
計算機(jī)等級考試二級VB考點:數(shù)組的概念10-10
計算機(jī)等級考試二級VB考點:窗體的常用方法08-17
計算機(jī)等級考試二級VB考點:控件數(shù)組07-23
計算機(jī)等級考試二級VB考點:進(jìn)程條和滑塊09-01
計算機(jī)等級考試二級VB程序設(shè)計模擬試題10-11
計算機(jī)等級考試二級VB程序設(shè)計填空題09-22
計算機(jī)等級考試二級VB程序設(shè)計選擇題09-04