java中debug使用


1. F8,表示當前實現繼續運行直到下一個斷點。

2. F5,表示進入當前方法。

3. F6,表示運行下一行代碼。

4.F7,表示退出當前方法,返回到調用層。

一、J2SE中debug

設置條件斷點

 

 1 package tk.dongyeblog;
 2 
 3 public class TestDemo {
 4         public static void main(String[] args) {
 5                  TestDemo td = new TestDemo();
 6                  td.print1to10();
 7         }
 8         public void print1to10(){
 9                  for (int i =1; i <= 10; i++) {
10                            System.out.print(i+"");
11                  }
12         }
13 
14 }

 

設置條件斷點:在函數print1to100中的system.out.print語句設置條件斷點:在斷點處右擊,選擇Breakpoint Properties,打開條件斷點允許框,輸入條件i==5。選擇條件為真時,觸發中斷。回到主程序Debug運行之,可以看到程序在輸出到4之后停止,此時i值為5

另外一個例子:

TestDemo.java

 

 1 package tk.dongyeblog;
 2 
 3 public class TestDemo {
 4         public static void main(String[] args) {
 5                  Person p = new Person();
 6                  String name = p.getName();
 7                  if(name.equals("")){
 8                      System.out.println("姓名不能為空!");
 9                  }
10         }
11 }

 

Person.java

 1 package tk.dongyeblog;
 2 
 3 public class Person {
 4     private String name;
 5     private int age;
 6     
 7     public String getName() {
 8         return name;
 9     }
10     public void setName(String name) {
11         this.name = name;
12     }
13     public int getAge() {
14         return age;
15     }
16     public void setAge(int age) {
17         this.age = age;
18     }
19 }

運行之后出現:Exception in thread "main" java.lang.NullPointerException

at tk.dongyeblog.TestDemo.main(TestDemo.java:7)

 

下面運行debug進行調試,首先定義斷點。然后啟動debug模式。選中要觀察的對象,右鍵watch,Experssions欄里會出現選中的屬性。從圖中可以看到name的value為null。所以會出現空指針異常。應改為if(name==null || name.equals("")){

 

 

二、在WEB項目中啟動debug模式

在運行JavaEE項目時,需要在eclipse內部啟動服務器,並在servlet程序中設置斷點,在執行到斷點時會自動debug模式。其他和J2SE調試類似

 

優秀的程序員總是花80%的時間來思考如何解決問題,20%的時間來動手完成代碼,而糟糕的程序員總是用20%的時間去寫代碼,80%的時間去調試代碼,動手之前盡量想好如何去做,並且已經為你自己的思路做了充分的實驗。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM