如何在SketchUp中调试ruby插件?

时间:2013-04-06 14:17:45

标签: ruby debugging plugins sketchup

我在SketchUp中调试ruby插件的唯一提示是使用puts

我尝试以这种方式启动SketchUp:sketchup.exe > log.txt 2> errors.txt,但它只显示SketchUp应用中的日志/错误,而不是来自其插件。

有谁知道如何:

  • 在SketchUp中逐步执行
  • 当插件崩溃SketchUp时获取执行堆栈
  • 在此上下文中有助于调试ruby插件的任何其他想法

3 个答案:

答案 0 :(得分:3)

SketchUp于2014年4月15日发布了SketchUp Ruby API的开源调试器:

https://github.com/SketchUp/sketchup-ruby-debugger

答案 1 :(得分:2)

更新:从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

答案 2 :(得分:0)

看起来SketchUp人员在2014年10月发布了一个新的单元测试框架。我还没有尝试过使用它,但是会给它一个机会并用我发现的内容进行报告:

https://github.com/SketchUp/testup-2