欢迎访问LCE的博客,为你分享产品、技术、设计方面的作品实践和心得。

rubymine搭建sketchup调试环境时遇到的一个神奇问题

代码 lce 2周前 (06-27) 39次浏览 已收录 0个评论 扫描二维码

我是参考这里搭建的调试环境:https://github.com/SketchUp/sketchup-ruby-api-tutorials/wiki/RubyMine-Debugger-Setup

sketchup-debug.rb 的代码一直没修改过,环境配置也没有修改过。昨天一切都是正常的,然而今天就出问题了。

每次点击调试时,都会提示这样的错误:

../tools/sketchup-debug.rb:32:in `spawn’: Invalid argument – “C:\Program Files/SketchUp/SketchUp 2019/SketchUp.exe” -rdebug “ide port=7000” (Errno::EINVAL)
from ../tools/sketchup-debug.rb:32:in `<main>’

本以为可能是参数不对,于是我找到 sketchup-debug.rb 这个文件,进行了修改:

  ...
  sketchup = File.exist?(sketchup_64) ? sketchup_64 : sketchup_32
  sketchup_command = %("#{sketchup}" #{debug_args})
  sketchup_command = %("#{sketchup}")
  #sketchup_command = "C:\\Program Files\\SketchUp\\SketchUp 2019\\SketchUp.exe"
  puts sketchup_command
end

# We then start SketchUp with the special flag to make it connect to the
# debugger on the given port.
spawn(sketchup_command)

也就是把 spawn 要执行的命令改成不带参数的形式,也就是只执行 sketchup 这个变量。仍然提示:

“C:\Program Files/SketchUp/SketchUp 2019/SketchUp.exe”
../tools/sketchup-debug.rb:35:in `spawn’: Invalid argument – “C:\Program Files/SketchUp/SketchUp 2019/SketchUp.exe” (Errno::EINVAL)
from ../tools/sketchup-debug.rb:35:in `<main>’

既然这样,我只好再修改 sketchup-debug.rb 这个文件:

  ...
  sketchup = File.exist?(sketchup_64) ? sketchup_64 : sketchup_32
  sketchup_command = %("#{sketchup}" #{debug_args})
  sketchup_command = %("#{sketchup}")
  sketchup_command = "C:\\Program Files\\SketchUp\\SketchUp 2019\\SketchUp.exe"
  puts sketchup_command
end

# We then start SketchUp with the special flag to make it connect to the
# debugger on the given port.
spawn(sketchup_command)

这样执行后仍然报错,提示找不到文件,如下:

C:\Program Files\SketchUp\SketchUp 2019\SketchUp.exe
../tools/sketchup-debug.rb:35:in `spawn’: No such file or directory – C:\Program Files\SketchUp\SketchUp 2019\SketchUp.exe (Errno::ENOENT)
from ../tools/sketchup-debug.rb:35:in `<main>’

在我百思不得其解,试了一次又一次,束手无策的时候,突然想到,会不会是因为和昨晚把 SketchUp.exe 改成管理员模式运行导致?

赶紧找到 SketchUp.exe,右键检查果然是勾选了以管理员身份运行此程序。

rubymine搭建sketchup调试环境时遇到的一个神奇问题

取消勾选,再点击调试,如果自定义 sketchup_command 的情况下:

sketchup_command = "C:\\Program Files\\SketchUp\\SketchUp 2019\\SketchUp.exe"

仍然会提示之前文件或目录不存在的错误。

不过当 sketchup_command 这样定义的时候:

sketchup_command = %("#{sketchup}" #{debug_args})

或者

sketchup_command = %("#{sketchup}")

以上两种情况下,执行都不会再报错了。

虽然我仍然没有搞明白内在的原因,但是至少现在解决了这个问题。先记录一下,以便后续研究,也方便遇到同样问题的人。

 


LCE的博客 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:rubymine搭建sketchup调试环境时遇到的一个神奇问题
喜欢 (0)
[liuchn@vip.qq.com]
分享 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址