其他分享
首页 > 其他分享> > SketchUp插件开发(二十二)完整的插件——对话框

SketchUp插件开发(二十二)完整的插件——对话框

作者:互联网

在开发插件时,对程序进行调试是不可避免的。一般对于插件开发主要使用三种调试方法

  1. 打印日志
  2. 断点单步跟踪
  3. 注释

打印日志

通过打印日志可以把绝大多数的逻辑错误、异常情况等打印出来,通过查看打印出的数据判断BUG所在。除了使用专业的日志包之外,最常用的打印临时日志的方式就是使用ruby的打印输出方法puts或p。打印的数据可以是标记、变量或常量数据、甚至是调用堆栈

p '**************'
p var
p caller

这些信息会在SketchUp的控制台输出窗口中打印出来。

断点单步跟踪

如果打印日志内容过多,不容易定位问题,还可以使用断点单步跟踪的方式,使用方式和调试独立的ruby程序是一样的,只是需要把插件程序和SketchUp连接到一起使用远程调试的方法。

首先需要在SketchUp的GitHub主页下载SketchUp对应版本的ruby调试器SURubyDebugger.dll,并把该文件放到SketchUp可执行文件的同目录下。

debug_dll.png

然后在控制台启动SketchUp,输入命令

"C:\Program Files\SketchUp\SketchUp 2017\SketchUp.exe" -rdebug "ide -port=7000

或者更方便一些可以打开SkethcUp的启动快捷方式,把上面的命令填入到快捷方式的目标一栏中

debug_cmd.png

再用这个快捷方式启动SketchUp的时候和用命令启动就是一样的了。

然后在RubyMine的“Run”菜单下的“Edit Configurations…”中添加Ruby远程调试器Ruby remote debug

ruby_remote_debug.png

在右侧的配置项中添加

debug_config.png

最后在SketchUp启动起来之后,按Shift+F9或“Run”菜单中的“Debug…”菜单选择free_wall调试器就可以开始我们的调试之旅了。

注释

如果以上两种方法都没有找到bug所在,那只能使用注释排除大法了。先注释掉一段代码,如果bug不存在了,那bug就是注释的代码里;如果bug还存在,那再注释掉一段代码;这样直到定位到bug为止。

标签:插件,对话框,打印,SketchUp,日志,bug,调试
来源: https://blog.csdn.net/middle0104/article/details/100598354