Java,Eclipse,“未找到来源”

时间:2013-10-13 21:48:03

标签: java eclipse debugging

在Eclipse中调试一个相对较小的程序时,我正在逐步看到“Source not found”错误。其他问题表明这通常是导入/ jar问题。在这种情况下,我没有导入的jar文件,没有什么花哨的,只是src / default包中的类。

具体行为如下:

如果调试器指向一个实例化新对象的行(例如,“Foo foo = new Foo();”),其中所讨论的类Foo位于同一源目录中并具有有效的构造函数,发生以下两件事之一:

1)要么:按F5将我带入类并进入构造函数签名;随后的F5将带我进入可怕的“未找到来源”错误;

2)或者:点击F5会立即将我带到“未找到来源”错误

在任何一种情况下,我都可以继续调试....例如,调试会话继续并且前进导致通过该程序的进一步步骤。 (如果我在没有调试器的情况下运行该程序,或者如果这些位置没有断点,我认为没有问题。点击F8并转到下一个断点通常可以解决我的问题。)

正确设置了Java Build Path源代码(项目的src子目录,这是默认包所在的位置。)Java Build Path库只有JRE系统库,据我所知,有没有姓名冲突。我想不出我需要对Java Build Path做的任何其他事情。

这可能与我正在使用调试器(数字应用程序中的NaN扩散)的错误无关,但它会分散注意力,并且它妨碍了我找到问题根源的能力。

具体问题:导致此行为的原因是什么?或者是我之前没有注意到的预期行为?

编辑:包含代码

Loop2:  for (int depth = 0; depth < maxDepth; depth++) {
        for (int node = 0; node < policy.numMemory; node++) {
            Belief belief = new Belief(messages, node);
            nodeTraces[node] = new nodeTrace(policy, pomdp, messages, belief, depth);
            if (nodeTraces[node].bestGain > bestGain) {bestTrace = node; bestGain = nodeTraces[node].bestGain; }
        }
        if (bestGain > 0.01) { System.out.println("breaking"); break Loop2; }
    }

Belief belief = new Belief(messages, node);上方设置断点,然后点击F5将在调试器中产生Source Not Found消息。该类的代码段是:

public class Belief {

int numStates;
double[] belief;

public Belief(Messages messages, int node) {
    // do some stuff
}

我再次强调在这个项目中的任何地方都没有包含的包。所有类都是我的,并且驻留在项目自己的源目录中,该目录包含在Java Build Path的源选项卡中。如果上面建议的链接解释了它在这里发生了什么,即使在阅读了三次之后我也没有看到它,如果有人用小言辞向我解释,我将不胜感激。

1 个答案:

答案 0 :(得分:0)

Eclipse可能缺少标准库的来源,即JDK。

这可以通过首选项设置 - &gt; Java - &gt;已安装JRE。