eclipse调试Java程序

参考教程 how2j

1.有人讲还是好啊 你可以知道那些重要 F5 F6 F7

  • 记住 要先在main()方法中设置断点 才能debug

2.web项目调试

3.常用快捷键

  • ctrl shift r resource 资源文件
  • ctrl shift t type 类
  • ctrl o 查找方法

4.常用文件输入输出类

  • BufferedReader
  • BufferedWriter
  • System.getProperty(“java.io.tmpdir”) java运行产生的临时文件目录
  • File.separator 字符“/”
  • 再加文件名
  • /com/fangjun/esensoft2/util/grade1.txt 从java根目录下 开始写文件路径 不要写绝对路径
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    InputStream in = Test.class
    .getResourceAsStream("/com/fangjun/esensoft2/util/grade1.txt");
    OutputStream out=new FileOutputStream(
    new File(System.getProperty("java.io.tmpdir")+File.separator+"111.txt"));

    BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(out));
    bw.write("+----------------------------------------------);

    BufferedReader br = new BufferedReader(new InputStreamReader(
    in, "UTF-8"));

    try {
    String line = br.readLine();
    while (line != null) {
    Grade pGrade = line2Grade(line);
    list.add(pGrade);
    line = br.readLine();
    }
    } finally {
    br.close();
    }
    ```







    ## 1.断点调试
    - 断点概念: 断点就是指在调试模式下,当代码运行到断点这个位置的时候,就会停下来,便于开发者观察相关数据,进行代码逻辑的分析,排错。
    - 调试视图与正常视图的切换:找小虫子icon就行
    - 代码示例

    ```Java
    public class HelloWorld {
    public static void main(String[] args) {

    int moneyEachDay = 0;
    int day = 10;
    int sum=0;
    for (int i = 1; i <= day; i++) {
    if(0==moneyEachDay)
    moneyEachDay = 1;
    else
    moneyEachDay *= 2;

    sum+=moneyEachDay;

    System.out.println(i + " 天之后,洪帮主手中的钱总数是: " + sum );
    }
    }

    }

2.调试视图区域介绍

    1. 当前是哪个线程,因为是非多线程程序,所以就是主线程
    1. 对第八行运行有影响的几个变量的值,这个就是调试的主要作用,观察这些值的多少,进行分析问题所在或者理解代码逻辑
    1. 当前代码,表示马上就要运行第八行,但是还没有来得及运行第八行
    1. 控制台输出

3.注意点

  • 1.代码框设置断点后 取消断点 还是有痕迹 可在参数视图框中取消
  • 2.左边的线程太多 直接邮件terminal all 再debug 一次就清除啦

4.单步运行 F6

  • 这个感觉最实用
  • 断点还没我直接sout方法直接

动态web项目 断点调试

  • 与Java程序断点调试不同的是:加入啦tomcat
  • 示例下载

1.设置断点 运行 步骤与上面一样

  • 注意:就是多配置啦一个tomcat
  • 还是觉得sout好 单步运行F6也不错

多控制台显示

  • 需要启动两个进程,并且两个进程的控制台都能同时看到,以便于观察和比较。
  • 具体设置技术含量不高 见how2j

大致情况:
我写啦5个action负责不同功能块 IndexAction 负责前台url跳转 ImportAction 导入VFS 功能代码
CreateTableAction 创建表功能代码 等 具体看文档注释

进度:
原型都写好啦 info.ftl index.ftl result.ftl等
CreateTableAction 完成并测试
IndexAction 完成并测试

问题:
1.文件数据转list数组 :由于文件每行格式并不相同 想啦几种判断方法 还未成功
2.UploadAction 功能块: 关于VFS 使用代码示例报错建数据库连接出现异常 没有为 driverClassName 赋值!正在找错
3.improtAction 功能块:跑啦下示例代码 没跑通
4.InfoAction 功能块:显示数据 没写