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

  • 相关阅读:
    Charles初体验
    基于工作量证明的哈希算法实验
    入侵检测软件Snort的使用实验
    基于netwox/netwag 工具的网络协议攻防实验
    jsonp原理
    案例:使用jquery的ajax load方法更新局部页面并应用NProgress库实现顶部进度条
    使用node文件模块封装一个学生数据操作API
    ES6 promise初体验
    nodejs中的路径和url操作
    使用nodejs和art-template模板引擎实现apache的部分功能
  • 原文地址:https://www.cnblogs.com/dongye/p/debug.html
Copyright © 2011-2022 走看看