zoukankan      html  css  js  c++  java
  • 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%的时间去调试代码,动手之前尽量想好如何去做,并且已经为你自己的思路做了充分的实验。

  • 相关阅读:
    RedisTemplate实现事物问题剖析和解决
    PO BO VO DTO POJO DAO概念及其作用(附转换图)
    Java 应用程序设计规范
    Java web url 规范
    Java 中 Map与JavaBean实体类之间的相互转化
    使用Java 8中的Stream
    [转]http://lua-users.org/wiki/LpegTutorial
    [转]LUA元表
    LPEG
    [转]LUA 学习笔记
  • 原文地址:https://www.cnblogs.com/dongye/p/debug.html
Copyright © 2011-2022 走看看