調試技巧:Core Java 7.6

打印變量

System.out.println(“x=”+x);
Logger.getGlobal().info(“this=”+this);

每個類一個main方法

這樣就可以對每個類進行單元測試

Junit組織測試用例套件

日誌代理,對JDK源碼調試

詳見:舉個例子

e.printStackTrace() 和 Thread.dumpStack();

Thread.setDefaultUncaughtExceptionHandler();

Thread.setDefualtUncaughtExceptionHandler(
new Thread.UncaughtExceptionHandler(){
public void uncaughtException(Thread t, Throwable e){
save info in log file
}
}

);

jconsole

jps 獲得jvm process id
然後運行 jconsle processId

jmap -dump:format=b, file=dumpFileName processID

jhat dumpFileName
然後,通過瀏覽器進人localhost:7000, 將會運行一個網絡應用程序,藉此探查轉儲對象
時堆的內容。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章