使用RubyMine调试时我遇到了这个异常...
Debugger.start is not called yet.
答案 0 :(得分:29)
经过一段时间尝试其他建议的解决方案后,我发现我在gem文件中有以下内容:
gem "debugger"
这会以某种方式导致调试器发生冲突...删除此行解决了我...
...谢谢
答案 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>
,解决了问题。