第6章 清华大学的《CAD二次开发》电子教(LISP)
这个是我见过的,最好的学CAD LISP的课件
第6章 调试程序
这个是我见过的,最好的学CAD LISP的课件
6.1 概述语法正确的程序并不能保证正常运行,在运行时可能会产生错误的结果 或者发生崩溃现象,这就需要调试。 调试程序的步骤是: ① 控制程序在指定的位置暂停; ② 查看、分析有关变量的值;
③ 修改程序的源代码;④ 继续或重新运行程序; ⑤ 如果程序不能正常运行,继续调试程序,直至程序正常运行。
为了便于调试程序,Visual LISP提供了一些调试程序的工具,帮助用户 迅速查找并改正程序中的错误。VisualLISP提供了监视窗口、检验窗口、符号服务对话框、中断和继续 执行程序的模式、命令跟踪、跟踪堆栈、跟踪窗口等调试程序的工具。
这个是我见过的,最好的学CAD LISP的课件
通过图6-1示View下拉菜单和View工具栏可以调用监视窗口、检验窗口等 调试工具。检验窗口 跟踪堆栈 出错跟踪 符号服务 监视窗口 自动匹配窗口 断点窗口切 确 激 打 换 定 活 开 到 活 控 检 动 制 测 窗 台 窗 口 窗 口 口 图 形 窗 口 堆 栈 跟 踪 功 能 符 匹 打 号 配 开 服 监 务 视 窗 口
AutoCAD
编译输出窗口VisualLISP控制台 浏览图形数据库 选择工具栏
图6-1 View下拉菜单
这个是我见过的,最好的学CAD LISP的课件
通过图6-2所示Debug下拉菜单和Debug工具栏的选项可以设置程序暂停 的模式和继续程序运行的方式。只执行一步表达式求值。 执行到下一个断点,如无断点,则执行一个完整的表达式求值。
执行到下一个断点,如无断点,则执行一个最外层的表达式求值。继续执行程序 结束当前程序。返回到控制台的上一层中断顶层读算写循环。 结束所有当前活动的断点循环并返回到控制台的顶层读算写循环。 添加监视 回到最近一次监视窗口的环境 设置/删除断点 清除所有的断点 回到源程序上的最近一次的断点 跟踪命令 立即暂停 出错断开 自动运行 终止求值
图6-2 Debug下拉菜单
这个是我见过的,最好的学CAD LISP的课件
下 一 层 嵌 套 表 达 式
下 一 个 表 达 式
跳 出 表 达 式
继 续 执 行
退 出 当 前 层
重 置 为 顶 层
设 置 或 取 消 断 点 切 换
添 加 监 视
显 示 上 一 个 断 点
调 试 指 示 器 按 钮
Debug工具栏
这个是我见过的,最好的学CAD LISP的课件
6.2 监视窗口监视窗口用于监视变量、函数在程序运行过程中的结果。选择菜单 Debug Watch Last Evaluation。将弹出图6-3所示的监视窗口。
图6-3 监视窗口
这个是我见过的,最好的学CAD LISP的课件
1. 监视窗口的工具栏监视窗口的工具栏有四个图像按钮,从左至右依次是:
添加监视:将新的变量加入到监视窗口。清除变量:清除监视窗口内的所有的变量。 排序:将监视窗口内的变量名按字母顺序排序。 复制到跟踪/日志:将监视窗口的内容复制到跟踪窗口。 如果打开了日志选项,监视窗口中的这些内容也将被复制到跟踪日志文件。
这个是我见过的,最好的学CAD LISP的课件
2. 监视窗口的快捷菜单选择监视列表中的某一项
并单击鼠标右键,可显示图6-4所示监视窗口 的快捷菜单。调用检验功能,查看所选值。 将所选变量的值复制到系统变量 *obj* 中。 将所选变量值加上一个单引号前缀',打印到控制台窗口。
对所选变量调用符号服务对话框。调用自动匹配选项对话框,用所选变量名作自动匹配参数。 从监视窗口中删除所选变量。
图6-4监视窗口的快捷菜单
3. 将变量加入到监视窗口有三种途径可以将新的变量加入到监视窗口。
这个是我见过的,最好的学CAD LISP的课件
(1) 点取工具栏上的添加监视按钮
,在随后弹出的图6-5所示的添加
监视窗口内填入变量名,然后单击OK按钮。
图6-5添加监视窗口 (2)亮显要添加的变量名,然后点取工具栏上的添加监视按钮
,随
后弹出的图6-6所示的已填写了该变量名的添加监视窗口,然后单击OK按
钮。(3)将光标移至将要添加的变量名,单击鼠标右键,在随后弹出的快捷 菜单上选取Add Watch菜单项,将弹出已填写了该变量名的添加监视窗 口,然后单击OK按钮。
这个是我见过的,最好的学CAD LISP的课件
4. 监视变量的值监视列表的每一行的格式是"变量名=变量值",例如:A = 1。如果程序 尚未运行,变量的值是空的;随着程序的运行,在监视窗口可以看到变量的 值也在不断变化。
5. 利用断点和监视窗口调试程序假定在编辑器窗口已键入了图6-6所示的源程序。该程序的功能是根据用 户输入的两个对角点绘制矩形。 首先检查该程序是否存在语法错误。选择菜单Tools Text in Editor或 单击按钮,在Build Output(输出)窗口显示"; Check done."。说明该程 序没有语法错误。
选择菜单Tools Load Text in Editor或单击按钮 ,VisualLISP自 动将控制切换到AutoCAD界面。当出现"输入矩形的一个角点:"的提示时,输 入(0,0)点,该点是p1点的坐标;当出现"输入矩形的对角点:"的提示时,输 入(100,100)点,该点是p2点的坐标。程序运行结束,只得到了矩形的两条边, 显然,这不是预期的运行结果。
这个是我见过的,最好的学CAD LISP的课件
图6-6监视P1、P2、P3、P4点的值 下面演示如何利用监视窗口调试程序。调试程序的步骤如下:
(1)确定要监视的变量。选择菜单Debug Add Watch或单击工具栏上的添加监视按钮 ,在随后弹出的添加监视窗口内填入变量名p1,然后
单击OK按钮。用同样的操作监视变量P2、P3、P4。
这个是我见过的,最好的学CAD LISP的课件
(2)从图6-7所示监视窗口可以看到:P1 = [0.0 0.0 0.0]、 p2 = [100.0 0.0]、p3 = [100.0 100.0 0.0]、P4 = [nil
100.0]。说明P4点的X坐标是无定义的,而X坐标是(car pl)的返回值,检查(car pl),car是正确的,亮显pl,单击添加
监视按钮
,监视窗口内出现PL = nil,PL本不是该程序的
变量,是p1的误写。 (3)修改源程序代码,将pl改写为p1;重新加载、运行该程 序;直到该程序可以
正常运行,调试结束。
这个是我见过的,最好的学CAD LISP的课件
6.3 在不设置断点的情况下分步调试程序分步调试就是将一个完整的程序分为若干步,逐步调试。每步可以是 最内层的一个表达式,也可以是一个复杂的表达式,还可以是多个表达式。 可以通过设置断点将程序分为若干段,也可以不用断点而是通过步长将程 序分为若干步。 结合下例程序介绍几种调试程序的方法。 【例6-1】 定义绘制矩形的命令,矩形的一个角点、宽、高和旋转角为交 互输入的参数。 程序的源代码如下: (defun c:rectr(/ w h alf p1 p2 p3 p4) (setq p1(getpoint "输入矩形的一个角点:") w (getdist p1 "输入矩形的宽:") h (getdist p1 "输入矩形的高: ") alf (getangle p1 "输入矩形的旋转角: ") )
h p3 p4 alf p1 p2
这个是我见过的,最好的学CAD LISP的课件
(setq p2(polar p1 alf w))(setq p3(polar p2 (+ alf (* 0.5 pi)) h)) (setq p4(polar p3 (+ alf pi) w))
相关推荐:
- [求职职场]加法运算定律的运用练习题
- [求职职场]大型石油化工工业过程节能新技术
- [求职职场]2015-2020年中国箱纸板行业分析与投资
- [求职职场]NADEX-IWC5A点焊机故障代码
- [求职职场]英语阅读 非常有用
- [求职职场]鲁卫疾控发〔2012〕2号(联合,印发山东
- [求职职场]2014年莆田公务员行测技巧:数字推理的
- [求职职场]基于最近发展区理论的高中数学课堂有效
- [求职职场]与贸易有关的知识产权协议
- [求职职场]【王风范】微演说·职场演说三
- [求职职场]新时代国珍健康大课堂
- [求职职场]群论期末考试复习题
- [求职职场]施工现场消防安全专项施工方案(范本)-
- [求职职场]初中物理光学知识点归纳完美版
- [求职职场]毕业设计总结与体会范文
- [求职职场]江南大学2018年上半年展示设计第1阶段
- [求职职场]景尚乡民兵参战支前保障方案
- [求职职场]【优质】2019年工会职工之家建设工作总
- [求职职场]数据库技术与应用—SQL Server 2008(第
- [求职职场]汽车变速箱构造与工作原理
- 首钢工业区工业遗产资源保护与再利用研
- 第4课 《大学》节选
- 2016程序文件——检验检测结果发布程序
- 2011年高考试题文言文阅读全解释__2011
- 化学是一门基础的自然科学
- 海外做市商制度的借鉴意义
- 外国建筑史复习资料(
- 七年级下思想品德期末综合测试(二)
- 思政课部2013年上学期教学工作总结
- 电大国际公法任务3 0004
- 《圆的认识》教学设计
- 中国轨道交通牵引变流器行业市场发展调
- 中泰证券#定期报告:坚守时代硬科技和
- 浅论企业财务管理与企业经营投资风险的
- 大功率半导体激光器光纤耦合技术调研报
- 中国传统家具的现状与发展探讨
- Broadcom数字电视芯片助海尔扩展高清电
- 新HSK4词汇练习 超全(五)
- 2013届高考数学单元考点复习12
- 雨霖铃精品课件




