模块
目录
索引 🔎︎

# 调试 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 无效的字符串匹配模式

94 不允许使用零

250 DDE 错误

280 等待 DDE 连接响应

281 无可用 DDE 通道

282 无应用程序响应 DDE 连接初始

283 响应 DDE 连接初始的应用程序过多

284 DDE 通道已锁定

285 外部应用程序无法执行 DDE 操作

286 等待 DDE 响应超时

287 DDE 操作过程中用户按下了 Esc 键

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 需要 Exit

966 语句块未闭合: 缺

967 插入内容不匹配

968 符号已定义其他值

969 参数与过程不符

970 数字中有无效字符

971 数组必须有维度

972 Else/Endif 没有 If

973 在过程中不允许

974 不允许在过程外

975 维度规格不匹配

976 未知选项:

977 重新定义常量

978 程序太大

979 不允许字串或数组

1000 对象无此属性

1001 对象无此方法

1002 缺必需参数

1003 参数数无效

1004 执行方法出错

1005 无法设置属性

1006 无法决定属性