调试 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 无法决定属性