调试技巧: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, 将会运行一个网络应用程序,借此探查转储对象
时堆的内容。

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