RubyMine Debugger.start尚未调用

时间:2012-07-23 10:07:27

标签: ruby-on-rails ruby rubymine

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

Debugger.start is not called yet.

5 个答案:

答案 0 :(得分:29)

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

gem "debugger"

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

...谢谢


来源:Debugger crashes when it hits the first breakpoint

答案 1 :(得分:6)

作为Mustafah评论的附录,我花了一段时间来追踪这个问题的变体:

gem 'pry-full'
gem 'debugger'

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

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

您如何知道哪些宝石间接加载调试器gem?在你的Gemfile.lock中查找表明这种依赖性的条目:

pry-debugger (0.2.2)
  debugger (~> 1.3)
  pry (~> 0.9.10)

答案 2 :(得分:0)

对于遇到此问题且无法从Gemfile中删除调试器的其他人,值得遵循Mustafah提供的源链接。

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

答案 3 :(得分: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

答案 4 :(得分:0)

我只有一个依赖项破坏了RubiMine的调试器:pry-debugger。将pry-nav替换为debugger并不依赖于<%@ page language="java" import="java.sql.*"%> <%@ page language="java" import="org.json.JSONObject"%> <html> <head><title>Read from mySQL Database</title> <!DOCTYPE html> <script src="http://d3js.org/d3.v3.min.js"></script> <meta charset="utf-8"> </head> <body> <div align="center" width="85%"> <center> <table border="1" borderColor="#ffe9bf" cellPadding="0" cellSpacing="0" width="658" height="63"> <tbody> <% String DRIVER = "org.gjt.mm.mysql.Driver"; Class.forName(DRIVER).newInstance(); Connection con=null; ResultSet rst=null; Statement stmt=null; try{ String url="jdbc:mysql://localhost/sales?user=root&password=root"; int i=1; con=DriverManager.getConnection(url); stmt=con.createStatement(); rst=stmt.executeQuery("select * from product limit 10"); JSONObject jsonObject = new JSONObject(); while(rst.next()){ jsonObject.put("sku"+i,rst.getString(2)); %> <tr> <td bgColor="#ffff98" vAlign="top" width="107" height="19"><%=rst.getString(2)%></td> <td bgColor="#ffff98" vAlign="top" width="270" height="19"><%=rst.getString(4)%></td> </tr> <% i++; } String outputString = jsonObject.toString(); rst.close(); stmt.close(); con.close(); }catch(Exception e){ System.out.println(e.getMessage()); } %> </tbody> </table> </center> </div> </body> </html> ,解决了问题。