[英]java eclipse debugging error
我已经尝试了一些现有的解决方案,但是它不起作用。
我有两个文件/类First.java(在其中定义了main)和Second.java,在其中定义了简单的函数。
**First.java:**
import java.util.*;
public class First
{
public static void main(String[] args)
{
Second s1 = new Second();
s1.Hello();
}
}
当我在eclipse中调试上述代码时,它在Second s1 = new Second();
行上给我错误“找不到源” Second s1 = new Second();
但是,如果单击“进入”,则会发生此错误。 如果在上述行中单击“跳过”,则不会发生该错误; 如果在后续步骤中单击“进入”,则不会再次发生该错误,并且执行成功进入了第二个文件“ Second.java”。
所以我的问题是,有没有一种方法可以进入“ Second.java”的构造函数而无需跨步呢?
如何设置源路径。
Second.java类:
public class Second
{
int a;
public Second()
{
this.a=100;
}
public void Hello()
{
System.out.println("hello how are you");
}
public int GetResult()
{
return a;
}
}
问题是当您创建第二个对象时“进入”该行时,它要求类加载器加载第二个类。 由于您可能没有eclipse设置来指向Java源代码的位置,因此eclipse不知道vm用于加载类的所有文件(包括java.lang.ClassLoader)在Java源代码在计算机上的位置, eclipse向您显示“找不到源”页面。
您可以:
Second s1 = new Second();
行Second s1 = new Second();
移动断点Second s1 = new Second();
在First.java中将public Second()
。 public Second()
在Second.java中公开。 然后,当您进行调试时,您应该在VM加载Second对象后达到断点,并且应该能够在实例化构造函数时对其进行调试。 Second s1 = new Second();
点Second s1 = new Second();
处的断点时Second s1 = new Second();
并找到“找不到源”页面,立即“逐步返回”,然后再次按“逐步进入”,这将带您进入第二类的构造函数。 找不到源通常意味着Eclipse无法找到所需的文件。 您的项目中是否包含Second.java? 最好的办法是制作一个程序包,例如me.russjr08.projects。 这样,Eclipse可以搜索软件包(假设所有正确的文件都在其中)并找到您要使用的class / java文件。
IIRC的另一种解决方案是在您的src文件夹中包含Second.java
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.