软件的调试(Debug)技术

调试程序的过程

  1. 复现:使用最小的测试用例集复现错误
  2. 分析:(重点)
    (1)测量法:使用logging
    (2)二分法:分治的寻找错误的位置
    (3)基于差异的调试
  3. 修复
  4. 反思

Debug的方法

  1. 内存转储:将内存的信息以文件的形式写入磁盘
  2. 调用栈的分析
  3. 打印debug的方法:使用print打印寻找错误位置
  4. 日志技术:
    (1)基本日志
    使用全局日志记录器
    a. Logger.getGlobal().info(“File->Open menu item selected”);生成
    b.Logger.getGlobal().setLevel(Level.OFF);取消
    (2)高级日志
    定义自己的日志记录器,防止混淆
    a.private static final Logger myLogger = Logger.getLogger(“com.mycompany.myapp”); 创建日志记录器
    b.mylog.info("…");生成记录
    c.logger.setLevel(Level.FINE); 默认显示INFO以上,可自行设置显示级别
    (3)日志处理器
    默认ConsoleHandler输出到控制台。
    Handler handler = new ConsoleHandler();
    log.addHandler(handler);此处使用委托机制使二者松耦合
    (4)日志格式
  5. 严格对待warning的编译信息
  6. 设置断点动态调试–最常用
    单步调试
    Resume-跳转到下一断点
    step in/out–进入方法内部/跳过方法
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值