乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 14|回复: 14

[编程交流] 调试问题

[复制链接]

15

主题

30

帖子

16

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
74
发表于 2022-7-6 07:07:46 | 显示全部楼层 |阅读模式
我有两个autolisp程序,如下所示:
 
(defun c:test1()
(setq x 0)
(setq y 0)
(警报“test1”)
(加载“C:\\Documents and Settings\\Administrator\\Desktop\\test2.lsp”)
)
 
 
(defun fnTest2()
(setq x2 0)
(sewtq y2 0)
(警报“test2”)
)
(测试2)
 
注意,程序test1加载程序test2,然后test2自动执行函数fnTest2。这是一个现有的程序,我无法对其进行任何更改。
 
我打开文件test1。vlide中的lsp,然后使用工具>在编辑器中加载文本对其进行lad。
 
然后我启用调试>停止一次&调试>出错时中断。
 
然后我在命令提示符下键入test1,然后我可以使用F8键一步一步地调试这两个程序。该程序还突出显示了程序test2中包含错误的行。
 
当我“Rest to top level”并在命令提示符下再次键入test1时,我能够调试test1代码,但游标不会在程序Test2中停止,也不会高亮显示任何语句。
 
我做错了什么?
 
另外,VB中是否有与“stop”语句等效的语句,因此我可以在代码中硬编码一个断点。
回复

使用道具 举报

106

主题

1万

帖子

101

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1299
发表于 2022-7-6 07:13:49 | 显示全部楼层
为什么不像下面这样更有意义?如果必须的话,从lisp作为事件链加载lisp可能会出现各种问题,可以通过脚本或菜单一次性加载所有defuns,如果一直使用,则自动加载。
 
  1. (defun c:test1()
  2. (setq x 0)
  3. (setq y 0)
  4. (alert "test1")
  5. )
  6. (defun fnTest2()
  7. (setq x2 0)
  8. (sewtq y2 0)
  9. (alert "test2")
  10. )
  11. fntest1
  12. (fntest2)

重新停止(退出)
回复

使用道具 举报

15

主题

30

帖子

16

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
74
发表于 2022-7-6 07:19:29 | 显示全部楼层
正如我已经提到的,我不能对代码进行任何修改。我只能调试它。
 
所以问题是如何调试整个代码。
 
此外,exit退出函数,我们无法从下一条语句继续执行,这就是“Stop”所做的。
回复

使用道具 举报

8

主题

38

帖子

25

银币

初来乍到

Rank: 1

铜币
47
发表于 2022-7-6 07:20:40 | 显示全部楼层
此代码中未定义函数test2,因此尝试评估test2将产生错误:
_$(测试2)
; 错误:无函数定义:TEST2
_$
似乎不需要太多的调试。
如果调试更严重的问题,您可以使用调试工具栏中的“切换断点”按钮来设置断点,并使用同一工具栏中的“单步执行”、“单步执行”和“单步执行”按钮来计算断点后的每个表达式。
回复

使用道具 举报

15

主题

30

帖子

16

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
74
发表于 2022-7-6 07:25:13 | 显示全部楼层
好啊这是打字错误,代码应如下所示:
 
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; 测试1.lsp
 
(defun c:test1()
(setq x 0)
(setq y 0)
(警报“test1”)
(加载“C:\\Documents and Settings\\Administrator\\Desktop\\test2.lsp”)
)
 
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; 测试2.lsp
(defun fnTest2()
(setq x2 0)
(setq y2 0)
(警报“test2”)
)
(fnTest2)
 
这里的问题不是test2是否需要调试。问题是即使你想调试也无法调试。即使设置断点,Test2中的代码也会在任何断点处不中断地执行。
 
我需要知道为什么会发生这种情况,以及如何克服这种情况。
回复

使用道具 举报

4

主题

2143

帖子

2197

银币

限制会员

铜币
-24
发表于 2022-7-6 07:29:36 | 显示全部楼层
NirantarVidyarthee,
 
请阅读代码发布指南,并编辑您的帖子以包括代码标签。
回复

使用道具 举报

1

主题

475

帖子

481

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 07:33:59 | 显示全部楼层
NirantarVidyarthee,
尝试,调试==>动画
第二个文件将被加载,您将看到它正在运行
 
亨里克
回复

使用道具 举报

15

主题

30

帖子

16

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
74
发表于 2022-7-6 07:39:27 | 显示全部楼层
抱歉,使用调试>动画,用户无法控制。它不考虑任何断点。
回复

使用道具 举报

1

主题

475

帖子

481

银币

初来乍到

Rank: 1

铜币
5
发表于 2022-7-6 07:44:04 | 显示全部楼层
为了调试,我使用了动画和出错中断
当出现错误时,它就会停止,你可以看到错误。。。
回复

使用道具 举报

15

主题

30

帖子

16

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
74
发表于 2022-7-6 07:50:23 | 显示全部楼层
嗯,席尔瓦,谢谢!它适用于示例代码。现在我希望它能在更大、更复杂的工作代码上工作。
 
再次感谢。
 
顺便问一下,有人用过视图>符号服务吗。。。?它与使用动画和出错停止方法有什么不同?
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-10 15:04 , Processed in 0.464339 second(s), 72 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表