在Eclipse中調試一個相對較小的程序時,我在瀏覽時看到「未找到源代碼」錯誤。其他問題表明,這通常是導入/ jar問題。在這種情況下,我沒有導入的jar文件,沒有什麼特別的,只有src/default包中的類。Java,Eclipse,「未找到源代碼」
的特定行爲是這樣的:
如果調試器被指向哪個實例化新的對象的線(例如,「富富=新的Foo();」),其中類,富,在的問題是在相同的源代碼目錄中並且有一個有效的構造函數,發生以下兩件事之一:
1)或者:打到F5會帶我進入類和構造函數簽名;隨後的F5會帶我到可怕的「Source Not Found」錯誤;
2)或:按F5將帶我馬上到「源Not Found」錯誤
在任何情況下,我可以繼續調試....排序。例如,調試會話將繼續並逐步推進結果,以進一步完成程序。 (如果我在沒有調試器的情況下運行這個程序,或者在這些位置沒有斷點,我沒有看到任何問題,打到F8並進入下一個斷點通常會讓我無法解決問題。)
Java Build路徑源設置正確(項目的src子目錄,這是默認軟件包所在的位置).Java Build Path庫除了JRE系統庫外沒有任何東西,據我所知沒有名稱衝突。我想不出任何其他我需要做的Java構建路徑。
這可能與我正在用調試器尋找的錯誤(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將產生源在調試器未找到的消息。從A類代碼片段是:
public class Belief {
int numStates;
double[] belief;
public Belief(Messages messages, int node) {
// do some stuff
}
我再次強調,在這個項目中的任何地方,沒有包含的包。所有類都是我的,並駐留在項目自己的源目錄中,該目錄包含在Java Build Path的源選項卡中。如果上面的建議鏈接解釋了這裏發生的事情,即使在閱讀了三次之後,我也沒有看到它,如果有人用我的口吻向我解釋這一點,我將不勝感激。
讓社區決定它是否是重複的:) –
夠公平的。我只是在說,我首先看。 – Novak
你可以發佈代碼嗎? – newtonrd