0

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

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

有谁知道如何:

  • 在 SketchUp 中一步一步执行
  • 当插件崩溃 SketchUp 时获取执行堆栈
  • 在这种情况下有助于调试 ruby​​ 插件的任何其他想法
4

3 回答 3

3

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

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

于 2014-04-23T22:43:53.033 回答
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

于 2013-04-07T10:23:25.870 回答
0

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

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

于 2014-12-16T20:27:26.620 回答