BUG 调试方法 - ( 前提 : 心态 )

BUG 调试方法 - ( 前提 : 心态 )

目录

BUG 调试方法 - ( 前提 : 心态 )

1. 定位问题 ( 确定位BUG大方向 )

2. 明确定位

3. 总结

1. Debug 经验之谈

2. 排除法 : 值钱的 bug


1. 定位问题 ( 确定位BUG大方向 )


a. 用户访问项目 , 出现控制台的日志

 i. 找到 cause by(如果有多个cause by,则有限看最后一个)
 ii. 没有cause by,找日志中是否有自己写的类
 iii. 错误日志中没有自己的类,80%是配置问题,20%传入到框架中的参数问题。
 ​
 (开发环境需要看tomcat的日志,和项目的log4j日志)
 ​
 启动项目就报错,看catalina.log


b. Tomcat 启动就报错

 i. 一定是配置问题
     1. 在Web.xml中梳理出所有的配置信息,包括spring配置。
     2. Spring.xml问题
     3. Mapper文件问题


c. 页面错误

 i. 心理压力(页面东西多、我不懂)
 ​
 ii. 找别人写的页面的BUG。可读性差。
     1. Debug   F12
     2. 排除法  (前段页面bug的解决:写一个纯净页面(屏蔽无关代码),逐个测试排除)
     
 iii. ajax bug  (无非就是请求与响应)
     1. 请求:400+错误码 (url问题、参数问题、请求头信息问题)。比如出现了500的错误,但是回调函数没有执行,大概率是配置出错。
     2. 响应:500错误(一般是后台出bug。Ajax的回调函数也会执行)


2. 明确定位

 a) cause by会有明确的问题原因(DEBUG定位)
 ​
 b) 配置问题、页面问题、ajax。(都需要通过排除法来定位问题,精简代码的定位方式。类似将项目拆分为很多小块,一个个排除(细心))


3. 总结

 a) Debug
 b) 排除法
 c) 生产环境(通过日志进行排除法解决问题)

案例:

 项目启动报错。
 查看tomcat安装目录下的logs文件夹下的catalina.log日志
   收货:出现监听器启动失败。
 ​
 查看web.xml
 只有一个监听器,初始化spring容器的监听器。此监听器在解析spring.xml。
 只要是spring解析问题,需要查看localhost.log日志。
 Spring.xml没有
  
 访问出错 (500错误)
 查看tomcat的logs文件夹中的localhost.log日志。
 案例中定位的问题是数据库连接失败。


1. Debug 经验之谈


1. 断点位置不能出现在开始位置、空白位置、else等 位置


2. 利用好 : System.out.println(); / log.info();


2. 排除法 : 值钱的 bug

通过前两种方式无法定位的BUG才是值钱的bug

90%的错,用排除法;框架里只能用流程来找错

1、openSession报错,90%是数据库没连接好

2、IO异常:绝大多数是文件名称写错了

3、SQl异常:将对应SQL语句复制,到数据库里直接执行一遍

4、ClassNotFoundException
		2种:缺包;
		包冲突(版本冲突、升版本、降版本)

前两种都无法找的,用排除法:不是找BUG而是确认某部分没问题! 无法保证100%没问题,

F12、页面排除法 ( 想5分钟描述问题 )

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值