1
我必須調試java代碼,但java不是用-g選項編譯(生成所有調試信息,包括本地變量)。有人知道,我可以在哪裏找到符合要求的代碼?另外我不會用-g尋找一些openJDK。另外我知道,我可以自己編譯它,但我儘量避免它。我在哪裏可以找到jdk 7(全部)調試信息來調試HashMap
目標是讀取一個值爲hash
變量的調試,這是不可能的,該怎麼做呢?從HashMap中
代碼:
public V put(K key, V value) {
if (table == EMPTY_TABLE) {
inflateTable(threshold);
}
if (key == null)
return putForNullKey(value);
int hash = hash(key);
int i = indexFor(hash, table.length);
for (Entry<K,V> e = table[i]; e != null; e = e.next) {
Object k;
if (e.hash == hash && ((k = e.key) == key || key.equals(k))) {
V oldValue = e.value;
e.value = value;
e.recordAccess(this);
return oldValue;
}
}
modCount++;
addEntry(hash, key, value, i);
return null;
}
你寫的很明顯。但試着調試HashMap,例如,停止在'public V put(K key,V value)',然後嘗試從這行'int hash = hash(key);'讀取'hash'變量的值。那麼我想你明白我的意思。 – koralgooll
@koralgooll你在用什麼IDE?在IDE設置中將源代碼('src.zip')與您的JDK相關聯。 – Jesper
所以你的問題是調試,沒有找到源代碼。我不會假設你的問題,請解釋我們。 – Alfabravo