调试通常是任何程序开发中最耗时的阶段。
注意:Visual LISP IDE 仅在 Windows 上可用。
因此,Visual LISP 包含一个功能强大的调试器,它提供了以下功能:
- 程序执行跟踪
- 在程序执行期间跟踪变量值
- 查看计算各种表达式的顺序
- 检查函数调用中使用的参数值
- 中断程序执行
- 一次单步执行一条指令
- 检查堆栈
Visual LISP 提供了以下工具来实现这些功能:
- 断路循环模式
-
在指定点停止程序执行,允许您在中断期间查看和修改对象的值。AutoLISP 对象的示例包括变量、符号、函数和表达式。- 停止一次
-
导致 Visual LISP 在计算遇到的第一个 AutoLISP 表达式时无条件中断。
- 出错时中断
-
每当程序遇到运行时错误时,自动激活交互式中断循环。
请注意,如果启用此选项,则在 AutoCAD 命令提示符下输入的函数调用导致的某些错误将导致 Visual LISP 获得焦点。也就是说,活动窗口可能会从 AutoCAD 切换到 Visual LISP 控制台窗口,您将处于中断循环中。
- 函数条目中断
-
为函数的名称符号设置 Debug-on-Entry 标志,导致每次调用该函数时发生中断。在休息时,该函数的源代码将显示在一个特殊的窗口中。您可以使用“符号服务”对话框以交互方式设置或清除 Debug-on-Entry 标志。
- 顶级调试模式
-
控制从文件或编辑器窗口加载程序。如果启用,则在计算每个顶级表达式(如 )之前发生中断。defun
如果启用了“顶级调试”和“一次停止”模式,则每次加载文件时,Visual LISP 都会进入调试模式,因为 Visual LISP 正在调试 、 以及加载时文件中定义的其他函数。这通常不是一种有用的调试技术,只有在极少数情况下才需要。defunsetq
- “检查”窗口
-
提供有关“检查”对话框中对象的详细信息。如果要检查的对象由嵌套对象(例如列表)组成,则“检查”功能允许您检查所有组件,每个组件都列在窗口中自己的行上。还可以递归检查任何嵌套对象,直到到达原子对象(如数字或符号)。
- 监视窗口
-
在程序执行期间监视变量的值。“监视”窗口的内容会自动更新。这意味着,如果放置在“监视”窗口中的变量值发生更改,则此更改将自动反映在“监视”窗口中。
- 跟踪堆栈工具
-
查看函数调用堆栈。调用堆栈是一种机制,通过该机制,Visual LISP 在程序执行函数时记录函数序列。您可以在调试会话期间(当程序处于挂起状态时,例如在断点后单步执行)或程序崩溃后查看堆栈。如果在程序崩溃后查看,函数调用堆栈将显示程序失败时 Visual LISP 正在执行的操作。
- 跟踪设施
-
一个标准的LISP工具,将跟踪函数的调用和返回值记录到特殊的跟踪窗口中。
|