除錯 Basic 程式
中斷點和單步執行
您可以透過單步執行來逐行檢查 Basic 程式中的錯誤。由於可以立即看到每一步的執行結果,因此很容易追蹤錯誤。編輯器的中斷點欄中的指標指示目前執行的行。如果要強制程式在某個位置中斷,您也可以在該位置處設定一個中斷點。
按兩下[編輯器]視窗左邊的中斷點欄,可以使對應行在設定與不設定中斷點之間切換。當程式執行到中斷點時,程式執行將被中斷。
如果使用單步圖示呼叫單步執行,則將導致程式岔入程序和函式內部。
如果使用程序單步圖示呼叫程序單步執行,則將導致程式以單步跳過程序和函式。
中斷點的屬性
在中斷點欄中的中斷點上按一下滑鼠右鍵,從顯示的右鍵功能表中可以看到該中斷點的屬性。
透過從右鍵功能表中選取[使用中]選項,您可以使中斷點在啟動與關閉兩種狀態之間切換。如果中斷點處於關閉狀態,則不會中斷程式的執行。
從中斷點的右鍵功能表中選取[屬性],或者從中斷點欄的右鍵功能表中選取[中斷點],以呼叫[中斷點]對話方塊,以指定其他中斷點選項。
該清單列出所有的中斷點以及它在來源程式碼中對應的行號。透過核取或清除[使用中]方塊,您可以啟動或關閉選取的中斷點。
[過程]用於指定在程式中斷之前,中斷點被透過的次數。如果輸入 0 (標準設定),則一旦遇到中斷點,程式就會中斷執行。
按一下[刪除]以從程式中實際移除中斷點。
觀察變數的值
透過將某個變數加入到[檢視]視窗,您可以對該變數的值進行監視。若要將變數加入受檢視變數的清單中,請在[檢視]文字方塊中鍵入變數名稱,並按 ENTER 鍵。
變數的值只有在作用範圍內時才會被顯示。如果目前來源程式碼中沒有對變數進行定義,則會顯示 (「Out of Scope」) 而不是變數值。
您也可以在[檢視]視窗中含括陣列。如果在[檢視]文字方塊中輸入無索引值的陣列變數名稱,將會顯示整個陣列的內容。
在執行階段,如果將滑鼠停在編輯器中某個預先定義的變數上,則會用一個快顯方塊顯示該變數的內容。
使用[呼叫堆疊]視窗
此視窗提供程序和函式的呼叫階層式結構的摘要。您從中可以確定來源程式碼中目前位置的程序和函式的呼叫關係。
執行階段錯誤清單
1 遭遇一項例外
2 語法錯誤
3 回傳而無 Gosub
4 不正確的條目;請重試
5 無效的程序呼叫
6 溢位
7 記憶體不足
8 陣列已經設好維度
9 索引超出定義範圍
10 重複定義
11 除數為零
12 未定義的變數
13 資料類型不相符
14 無效的參數
18 使用者中斷程序
20 繼續而無錯誤
28 堆疊記憶體不足
35 未定義子程序或函式程序
48 載入 DLL 檔時發生錯誤
49 錯誤的 DLL 呼叫慣例
51 內部錯誤
52 錯誤的檔案名稱或檔案編號
53 找不到檔案
54 不正確的檔案模式
55 檔案已經開啟
57 裝置 I/O 錯誤
58 檔案已經存在
59 不正確的記錄長度
61 磁碟或硬碟機已滿
62 讀取超出 EOF
63 不正確的記錄編號
67 檔案過多
68 裝置不可用
70 存取遭拒
71 磁碟尚未就緒
73 尚未實作
74 在不同的裝置上重新命名是不可能的
75 路徑/檔案存取錯誤
76 找不到路徑
91 未設定物件變數
93 無效的字串樣式
97 不允許使用 0
250 DDE 錯誤
280 正在等候 DDE 連線的回應
281 無 DDE 頻道可用
282 無應用程式回應 DDE 的連線初始動作
283 過多應用程式回應 DDE 的連線初始動作
284 DDE 頻道已上鎖
285 外部應用程式無法執行 DDE 操作
286 等候 DDE 回應逾時
287 當 DDE 操作時,使用者按下 ESCAPE
288 外部應用程式忙碌
289 DDE 操作但無資料
290 資料格式錯誤
291 外部應用程式已經終止
292 DDE 連線已中斷或已修改
293 呼叫 DDE 方法但沒有開啟頻道
294 無效的 DDE 連結格式
295 DDE 訊息已經遺失
296 貼上連結已經執行
297 無法設定連結模式,因為連結主題無效
298 DDE 需要 DDEML.DLL 檔案
323 無法載入模組;無效的格式
341 無效的物件索引
366 物件不可用
380 不正確的屬性值
382 這個屬性乃唯讀
394 這個屬性乃唯寫
420 無效的物件參照
423 找不到屬性或方法
424 需要物件
425 物件的無效使用
430 這個物件不支援 OLE 自動化
438 該物件不支援這個屬性或方法
440 OLE 自動化錯誤
445 給定的物件不支援這個動作
446 給定的物件不支援命名的引數
447 給定的物件不支援目前的地區語言設定
448 找不到命名的引數
449 引數並非選擇性的
450 無效的引數數目
451 物件不是串列
452 無效的序數
453 找不到指定的 DLL 函式
460 無效的剪貼簿格式
951 未預期的符號:
952 預期為:
953 預期為符號
954 預期為變數
955 預期為標籤
956 無法套用值
957 變數已經定義
958 子程序或函式程序已經定義
959 標籤已經定義
960 找不到變數
961 找不到陣列或程序
962 找不到程序
963 未定義標籤
964 未知的資料類型
965 預期為離開
966 敘述區塊仍開啟:遺失
967 括號不相符
968 符號已經下過不同定義
969 參數無法對應至程序
970 數字內有無效字元
971 陣列必須有維度
972 Else/Endif 遺漏 If
973 not allowed within a procedure
974 not allowed outside a procedure
975 維度規格不相符
976 不明選項:
977 常數已重新定義
978 程式過大
979 字串或陣列不被准許
1000 物件沒有這個屬性
1001 物件沒有這個方法
1002 缺少需要的引數
1003 無效的引數數目
1004 執行方法時發生錯誤
1005 無法設定屬性
1006 無法判斷屬性