AutoCAD二次开发实用教程第10章 调试程序

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第10章 调试程序
10.1 Visual LISP调试功能简介
跟踪程序运行过程 跟踪程序运行过程中的变量值 查看表达式的求值顺序 检查函数调用时的参数值 中断程序运行 单步运行程序 检验堆栈。
1 .Visual LISP的程序调试功能 断点循环模式:在指定点中断程序的运行,并允许用户在中断时查 看和修改对象值,其对象包括变量、符号、函数和表达式等 AutoLISP对象 检 验:可在“检验”对话框中显示对象的详细信息。如果对象是由 嵌套对象(如表)组成的,该功能允许用户检验所有这些嵌套 对象,窗口的每一行显示一个对象的信息。用户也可以采用递 归方法检验任意嵌套对象,直到最底层的原子对象(如数或符 号等) 监视窗口:在程序运行过程中查看变量值。VisualLISP自动更新监 视窗口中的内容,这意味着如果“监视窗口”中所列的某个变 量值被修改,则改动会自动反映到‘监视’窗口中 跟踪堆栈:查看函数调用堆栈。函数调用堆栈是Visual LISP用来记 录用户程序调用函数顺序的一种机制,用户可在调试期间程序 被挂起时(如断点后的单步运行等)或程序崩溃后查看堆栈。 在程序崩溃后,该堆栈可告诉用户程序崩溃时Visual LISP运行 的是哪个函数 跟 踪:标准的LISP工具,它把对被跟踪函数的调用和其返回值记录 在专门的跟踪窗口中
4)现在可以将一次运行的步长加大些。单击“下一表达式”按钮, 或从菜单上选择“调试”→“下一表达式”,也可以按 SHIFT+F8发出命令 在“下一表达式”命令下,Visual LISP对整个表达式(包括所有 的嵌套表达式)进行求值,然后停止在整个表达式之后。此时光 标移动到被求值表达式之后。 4. 监视表达式的求值结果 在以单步方式跟踪程序时,可能需要监视某个表达式求值后返回 的结果。
5. 继续运行程序 1)自动运行模式 2)观察自动模式如何工作
10.3 使用Visual LISP调试功能
10.3.1 开始调试任务
开始调试的最简单的方法是从Visual LISP菜单中选择“调 试”→“立即停止”。当选中该选项时,在第一次对表达式进行 求值时将使城乡暂停。暂停后可以采用各种调试命令使程序进行 运行。另一种进入调试的方法是在“设置断点中断程序运行”中 设置断点。 当程序暂停时,相应的Visual LISP文字编辑器窗口就会显示程序 暂停时所处的当前表达式。此时控制台窗口中会出现一个中断标 志。利用控制台窗口,用户可以访问和操纵断点处程序所处的环 境,也可以通过“监视”窗口检查变量的值。
wenku.baidu.com
3. 单步调试程序 单步调试命令允许用户一次运行一个或几个表达式达到跟踪、调 试程序的目的。
1) 单击“下一嵌套表达式”按钮,,或从Visual LISP菜单中选择 “调试”→“下一嵌套表达式”,也可以按F8按钮发出命令 程序开始运行,但是在对括号中的表达式进行求值之前程序就停 止了,以高亮显示了该表达式 2)再次单击“下一嵌套表达式”按钮。在对该表达式求值后光标 位置移动到该表达式后,同时单步调试指示器按钮上的符号也发 生变化。 3)再次单击“下一嵌套表达式”按钮。光标移动到下一行语句的 开始处
10.4 使用Visual LISP数据查看工具
10.4.1 跟踪程序运行
1. 打开和关闭跟踪日志功能的步骤 2. 使用“监视”窗口 3.将变量加到“监视”窗口的步骤 4. 使用“监视”工具栏 5. 使用监视项目快捷菜单 6. 将变量加入到监视窗口 7. 监视变量的值 8. 利用断点和监视窗口调试程序
10.3.2 断点循环
1. 可继续的断点循环 可继续的断点循环是指可以在程序中断处,继续向下运行剩余的 表达式。 2. 不可继续的断点循环 当程序出现错误导致崩溃时,如果设置了“出错时中断”选项, 将激活一个不可继续的断点循环。
10.3.3断点的使用
1. 有关断点的操作 1)在程序中设置/删除断点 2)改变断点的颜色 3)临时禁用断点 4)浏览和编辑程序中的断点 5) 断点的生命周期 2. 在断点处继续运行程序
2.调试程序的步骤 1) 控制程序在指定的位置暂停 2) 查看、分析有关变量的值 3) 修改程序的源代码 4) 继续或重新运行程序 5) 如果程序不能正常运行,继续调试程序,直至程序正常运行。
10.2调试程序
1. 单步调试exam_1.lsp 分步调试就是将一个完整的程序分为若干步,逐步调试。每步可以 是最内层的一个表达式,也可以是一个复杂的表达式,还可以是 多个表达式。可以通过设置断点将程序分为若干段,也可以不用 断点而是通过步长将程序分为若干步。 2. 设置中断程序运行断点的步骤: 1)将光标移动到如下代码行的开括号前: 2)单击“调试”工具栏上得“切换断点”按钮,或从Visual LISP菜 单中选择“调试”→“切换断点”。“切换断点”可用来切换断 点的开关状态:如果该位置没有断点,“切换断点”在此加上一 个断点,如果光标位置已经有一个断点,“切换断点”则删除该 断点。 3)如果尚未加载eaxm_1函数,请先加载它,然后在Visual LISP控 制台下输入如下命令,运行该函数: (eaxm_1) 该程序将在AutoCAD命令行显示提示,在用户响应提示后, Visual LISP将在用户设置的断点处停止eaxm_1的运行,并在文 字编辑器窗口中显示该行代码。 注意光标之后的语句是如何被高亮显示的。
1)在“调试”菜单中选择“监视最新结果” 2)在包含exam_1.lsp的文字编辑器窗口中,双击变量名origin-y(任意一处 均可)。 3)单击“监视”窗口中的“添加监视”按钮。Visual LISP把origin-y变量名 传给“监视”窗口并在窗口中显示该变量的当前值 4)单击两次“下一表达式”按钮(或按SHIFT+F8)
10.4.2 跟踪程序运行
1. 命令跟踪 2. 出错跟踪 3. 跟踪堆栈 1)跟踪堆栈窗口的结构 2)堆栈元素的种类 3)显示关于跟踪堆栈元素的信息 4)使用“边框绑定”窗口 5)理解关键字框架 6)查看“错误跟踪堆栈”
相关文档
最新文档