【问题标题】:How to debug ruby plugins in SketchUp?如何在 SketchUp 中调试 ruby​​ 插件?
【发布时间】:2013-04-06 14:17:44
【问题描述】:

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

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

有谁知道如何:

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

【问题讨论】:

    标签: ruby debugging plugins sketchup


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      更新:从 SketchUp 2014 开始,您可以使用 Ruby IDE 单步执行 Ruby 代码。按照此 GitHub 存储库中的说明进行操作:https://github.com/SketchUp/sketchup-ruby-debugger 没有更多的puts 调试!


      TBD 已编写并发布了调试 SketchUp Ruby 插件的桥梁:http://labs.plugins.ro/

      这可能就是您正在寻找的。我自己还没有使用过 - 所以不能详细说明。


      我经常使用对OutputDebugString 的 WIN32 api 的调用,这让我可以看到我发送给它的输出(在 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 BaseCamp (2012) 这是一个非常有趣的话题。有一些人拥有他们为内部使用而创建的工具。我希望有更多的开源项目出现。这肯定是一个非常有趣的话题。
      • 我忘了补充一点,我使用 DebugView 来捕获来自OutputDebugString 的输出。
      【解决方案3】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多