17

我在使用 RubyMine 进行调试时遇到了这个异常......

Debugger.start is not called yet.
4

5 回答 5

29

在尝试了其他建议的解决方案一段时间后,我发现我在 gem 文件中有以下内容:

gem "debugger"

这会以某种方式导致调试器发生冲突...删除此行解决了我的问题...

谢谢...


来源:调试器在遇到第一个断点时崩溃

于 2012-07-23T10:07:26.757 回答
6

作为 Mustafah 评论的附录,我花了一段时间才找到这个问题的变体:

gem 'pry-full'
gem 'debugger'

这两行都导致了问题,所以我不得不改为:

unless ENV['RM_INFO']
  gem 'pry-full'
  gem 'debugger'
end

你怎么知道哪些 gem 可能间接加载调试器 gem?在您的 Gemfile.lock 中查找表明这种依赖关系的条目:

pry-debugger (0.2.2)
  debugger (~> 1.3)
  pry (~> 0.9.10)
于 2013-09-26T15:01:32.513 回答
0

对于遇到这种情况并且无法从 Gemfile 中删除调试器的其他人,值得关注 Mustafah 提供的源链接。

讨论的进一步更新指出,您可以添加unless ENV['RM_INFO']到 Gemfile(以及在调试器 gem 的任何要求之后)以使用 RM 调试器并允许项目中的其他人使用命令行调试器。

于 2013-09-20T20:24:32.153 回答
0

如果您签入 Gemfile.lock,其他解决方案将不起作用 - 它会根据生成它的机器而有所不同(没有尝试过,但很确定这是真的)。

相反,我将 gem 放在 Gemfile 中一个单独的非默认部分:

group :debugging do
  gem 'debugger'
end

然后,在 application.rb 中,我有条件地要求它。另外,我没有 RM_INFO,所以我检查了 RUBYLIB env var:

Bundler.require(:default, Rails.env) if defined?(Bundler)

unless ENV['RUBYLIB'] =~ /RubyMine/
  require 'debugger'
end
于 2013-11-23T22:55:27.313 回答
0

我只有一个依赖项破坏了 RubiMine 的调试器:pry-debugger. 将其替换为pry-nav不依赖于 的debugger,解决了问题。

于 2015-05-08T08:00:37.163 回答