我在 SketchUp 中调试 ruby 插件的唯一提示是使用puts
.
我试图以这种方式启动 SketchUp:,sketchup.exe > log.txt 2> errors.txt
但它只显示来自 SketchUp 应用程序的日志/错误,而不是来自其插件。
有谁知道如何:
- 在 SketchUp 中一步一步执行
- 当插件崩溃 SketchUp 时获取执行堆栈
- 在这种情况下有助于调试 ruby 插件的任何其他想法
SketchUp 于 2014 年 4 月 15 日发布了 SketchUp Ruby API 的开源调试器:
更新:从 SketchUp 2014 开始,您可以使用 Ruby IDE 单步执行 Ruby 代码。按照此 GitHub 存储库中的说明进行操作:https ://github.com/SketchUp/sketchup-ruby-debugger
不再puts
调试!
TBD 已经编写并发布了一个调试 SketchUp Ruby 插件的桥梁:http: //labs.plugins.ro/
这可能就是你要找的。我自己还没有使用它 - 所以不能详细说明它。
我经常使用对 WIN32 api 的调用,OutputDebugString
它允许我查看我发送给它的输出(在 DebugView 中),无论 SU 是否崩溃 - 它不会像向 SketchUp Ruby 输出大量内容那样减慢执行速度控制台:
http ://www.thomthom.net/software/sketchup/tt_lib2/doc/TT.html#debug-class_method
(我的意思是直接链接到 BitBucket 源代码,但该网站暂时关闭。回购:https ://bitbucket.org/thomthom/tt-library-2/ )编辑:网站重新上线 - 直接链接:https ://bitbucket.org/thomthom/tt-library-2/src/tip/TT_Lib2/debug.rb?at=Version%202.8
puts
如果您想要OutputDebugString
快速捕获所有解决方案,也可以重新路由。
顺便说一句,SketchUp 团队还发布了开发人员工具实用程序,该实用程序具有增强的 Ruby 控制台和单元测试框架:https ://github.com/SketchUp/sketchup-developer-tools
看起来 SketchUp 的人在 2014 年 10 月发布了一个新的单元测试框架。我还没有尝试使用它,但会试一试并报告我的发现: