- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
当我在 Eclipse 中调试时,经常会发生调试器崩溃的情况,并显示错误消息“未找到源代码”(在该消息下方是一个带有文本“编辑源代码查找路径”的按钮)。我以前在网上搜索过这个问题的解释/解决方案,但没有找到对我有帮助的东西。
不过,我现在已经弄清楚我的情况是怎么回事了:错误发生在逐行执行代码,然后跳出正在运行的代码块时。我不知道这个术语,但我猜想许多应用程序可能会在某个时候进入“待机模式”,此时它的代码当前都没有运行。一个示例是等待鼠标单击的图形应用程序。在 MouseListener 方法中的断点处停止,然后退出它(进入“待机模式”)将导致我的情况出现错误。
我在这个问题的底部提供了一个 MWE。当我在该行放置断点时发生错误
System.out.println("You clicked!");
然后使用 F6(“Step Over”)逐行退出方法。如果我在监听器的最后一行按 F8(“恢复”)而不是 F6,调试器不会崩溃并且一切正常。
我的问题是:在这种情况下,为什么 Eclipse 会做一些严重到崩溃的事情?我知道在下面的例子中,程序控制在离开监听器后可以说在源代码中没有一行可以“进入”,但是为什么不直接进入“待机模式”而不提示呢?我能否以某种方式停用此错误,以防止我的调试 session 如此频繁地过早结束?还是我只需要记住按 F8 而不是 F6,后者会导致崩溃?
package app;
import java.awt.Dimension;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JFrame;
public class TestFrame extends JFrame {
public TestFrame() {
getContentPane().setPreferredSize(new Dimension(200, 200));
getContentPane().addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
System.out.println("You clicked!");
}
});
pack();
}
public static void main(String[] args) {
JFrame testFrame = new TestFrame();
testFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
testFrame.setVisible(true);
}
}
最佳答案
Eclipse 不会崩溃。您正在尝试进入一种方法,其中 eclipse 不知道在哪里可以找到源 (*.java
) 文件并通知您这件事。下面是如何告诉 Eclipse 去哪里看。前往
Window -> Preferences -> Java -> Installed JREs,选择您正在使用的 JRE,然后点击编辑。
在那里,选择您看到的列表中的所有 jar 文件,然后单击 Source Attachment...。
在出现的窗口中,选择文件 src.zip
,它位于您的 JDK 文件夹中(如果您在安装 JDK 时没有取消选中它)。在我现在所在的机器上,就是
C:\Program Files\Java\jdk1.7.0_07\src.zip
。
保存所有更改(可能重新启动 eclipse),您将不会再看到该错误。
关于java - 为什么Eclipse调试器会莫名其妙的报错 "Source not found"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14914187/
我正在努力学习本教程 https://github.com/cf-platform-eng/spring-boot-cities/tree/master/cities-service在 Cloud F
0){ echo "Username or email already exists."; }else{ $query = mysql_que
我想在Linux上编译ARToolKit源码,下载源码,按照ARToolKit文档,配置GLUT , OpenGL, libjpeg 等库。 转到 ARToolKit 目录并键入 ./Configer
你好,我在这个程序中遇到错误,wcout 不是 `std' 的成员。如您所见,我也使用了 iostream,但没有用。我有 Dev-C++ 4.9.9.2,我的操作系统是 XP SP3我需要你的帮助。
我尝试对一个网站进行多次投票,但我得到: panic: runtime error: invalid memory address or nil pointer dereference [signal
当我将“ using namespace std; int main(){ string s[30]; int n = 20; for(int i = 0; i using
我设置了 EMAIL_URL process.env.MAIL_URL="smtp://xx%40gmail.com:yyy@smtp.gmail.com:465" 这个工作找到了 Email.sen
我有如下文件夹结构 . ├── docker-compose.yml └── web-app ├── create_tomcat_admin.sh ├── Dockerfile
这是我在 php 中的查询代码: $query3 = mysql_query("SELECT * FROM area_of_work") or die('Invalid query:'. mysql_
我正在尝试将 therubyracer/therubyracer-heroku 安装到我的应用程序,因为它在 heroku 服务器中不起作用,因为我没有 javascript 运行时环境。 当我尝试安
我正在开发一个非常简单的 React 应用程序。它有一个组件,在这个组件中,我试图在单击链接时设置状态。但出于某种原因,setState 甚至没有得到认可。它带有下划线,表示未解析的函数或方法 set
我有三个来源:代码处理.h typedef enum {typeBool, typeVarDeclaration, typeFuncDeclaration } nodeEnum; typedef st
我正在尝试从我的 Android 手机向 raspi 发送连续的命令。我使用了此链接中的代码,但出现错误。 链接:https://stackoverflow.com/questions/2347143
我正在尝试从数据库中加载数据并将其放入不同的 View 中。 log cat 返回错误,它找不到“_id”列。 有人可以帮我解决这个问题吗? SqlHelper代码: public class Fib
我的alertview给出了这个问题..它与sqlite无关..它给出了一些信息.. 我该如何解决这个问题? UIAlertView *infoShow = [[UIAlertView alloc]
这个问题在这里已经有了答案: launch activities from different package (5 个答案) 关闭 10 年前。 最近我一直在开发一个新的应用程序,我正在尝试使用
这是我的代码: #include #include typedef struct test { int *a; char *s; }TEST; int main (void) {
所以我定义了一个函数,如果它是由它的 lonesome 实现的,那么它非常适合对线性数组进行合并排序,但是如果我把它放到一个类中,它就会出错。我认为这是一个很好的例子,说明我不太了解类(class)的
我是 IOS 新手。我有一个示例项目,并试图在此基础上学习 Obj-C。 现在我正处于学习如何使用 UIAlertController 的阶段。我有这样的代码: if (loanAmount == 0
当我尝试使用 wincachegrind 并获取 cachegrind 文件时,它返回 Cannot find call target. cachegrind.out line number:68 有
我是一名优秀的程序员,十分优秀!