除錯 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 無法判斷屬性