java eclipse调试错误

java eclipse调试错误,java,eclipse,debugging,Java,Eclipse,Debugging,我已经尝试了一些现有的解决方案,但不起作用 我有两个文件/类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(); } }

我已经尝试了一些现有的解决方案,但不起作用

我有两个文件/类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()行上给出错误“source not found”

但是,如果单击“单步执行”,则会发生此错误。如果我在上述行中单击“跳过”,则不会发生错误;如果在后续步骤中单击“step into”,则不会再次发生错误,并且执行成功地进入第二个文件“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向您显示“source not found”页面

你可以:

  • 从行中移动断点
    Second s1=新的Second()到Second.java中的
    public Second()。然后,在调试时,应该在VM加载第二个对象之后到达断点,并且应该能够在实例化构造函数时对其进行调试
  • 当您在第1行“跨入”断点时,
    Second s1=new Second()
    并获取source not found页面,立即“step return”,然后再次按“step into”,这会将您带到第二个类的构造函数
  • 单击AttachSource,浏览到java源文件的目录。它们通常包含在JDK下载中,并且位于VM(对于Sun VM)安装文件夹中名为src.zip的文件中

  • 问题是,当您在创建第二个对象时“进入”行,它会要求类加载器加载第二个类。由于您可能没有eclipse设置来指向java源的位置,eclipse不知道vm用于加载类的所有文件(包括java.lang.ClassLoader)的java源代码在您的机器上的什么位置,eclipse向您显示“source not found”页面

    你可以:

  • 从行中移动断点
    Second s1=新的Second()到Second.java中的
    public Second()。然后,在调试时,应该在VM加载第二个对象之后到达断点,并且应该能够在实例化构造函数时对其进行调试
  • 当您在第1行“跨入”断点时,
    Second s1=new Second()
    并获取source not found页面,立即“step return”,然后再次按“step into”,这会将您带到第二个类的构造函数
  • 单击AttachSource,浏览到java源文件的目录。它们通常包含在JDK下载中,并且位于VM(对于Sun VM)安装文件夹中名为src.zip的文件中

  • 找不到源通常意味着Eclipse找不到所需的文件。Second.java在您的项目中吗?最好是制作一个包,比如me.russjr08.projects。这样Eclipse就可以搜索包(假设所有正确的文件都在那里),并找到您想要使用的类/java文件


    IIRC另一个解决方案是将Second.java包含在src文件夹中

    Source not found通常意味着Eclipse找不到所需的文件。Second.java在您的项目中吗?最好是制作一个包,比如me.russjr08.projects。这样Eclipse就可以搜索包(假设所有正确的文件都在那里),并找到您想要使用的类/java文件


    IIRC另一个解决方案是将Second.java包含在您的src文件夹中

    Second.java的确切定义在哪里?它在另一个Jar文件中吗?另一个项目?Second.java的确切定义在哪里?它在另一个Jar文件中吗?另一个项目?