2014-01-22 81 views
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; 
    } 

回答

2

在你的JDK安裝,您可以與所有的Java類的src.zip文件。

編輯:選中此Where to get full source code for rt.jar?

基本上,甲骨文停止了一些事情提供源代碼。你最好的投籃可能是openJDK

+0

你寫的很明顯。但試着調試HashMap,例如,停止在'public V put(K key,V value)',然後嘗試從這行'int hash = hash(key);'讀取'hash'變量的值。那麼我想你明白我的意思。 – koralgooll

+3

@koralgooll你在用什麼IDE?在IDE設置中將源代碼('src.zip')與您的JDK相關聯。 – Jesper

+0

所以你的問題是調試,沒有找到源代碼。我不會假設你的問題,請解釋我們。 – Alfabravo

相關問題