1.入(出)口推进法

这种查找方式一般用在查逻辑bug等问题,也是我认为最简单,但是最根本的方法。首先要找到最开始的调用入口,在每一个调用的入口打印日志或者设置断点,一步步向前推进查找代码行走的轨迹,最终找到问题所在。出口,就是反过来推进,道理是一样的。

2.异常分析法

这种就是根据错误日志分析故障,很多时候遇到故障直接把故障信息copy到百度,这种确实可以解决一部分问题,但是遇到很多问题,直接搜索是搜不到的,需要分析后查到根本原因,才能找到解决方案。

举几个例子:

(1)挂载的时候,提示这个错误:

amount: 文件系统类型错误、选项错误  上有坏超级块、

缺少代码页或助手程序,或其他错误
       (对某些文件系统(如 nfs、cifs) 您可能需要
       一款 /sbin/mount.<类型> 助手程序)

有些情况下在 syslog 中可以找到一些有用信息- 请尝试
       dmesg | tail  这样的命令看看。

从日志关键字 : 缺少代码页或助手程序,或其他错误    (对某些文件系统(如 nfs、cifs) 您可能需要  一款 /sbin/mount.<类型> 助手程序)  推论出挂载需要安装挂载客户端,

所以根据系统的类型安装对应的挂载客户端即可:

Redhat版本:   yum install nfs-utils
CentOS版本:sudo apt-get install nfs-common

(2)docker 编译java服务的时候,编译到一半报错:

FROM java:8 无法识别 unkown java

这个时候去网上搜,会发现相关的信息很少,不能解决我的问题,只能通过分析来查问题。

1.在代码中搜索FROM java:8  在dockerfile中找到了这个,然后想着java 8 对应的应该就是jdk1.8(之前有配置过jdk1.8)了,于是怀疑环境出问题了,就想着从配置docker java环境入手,但是还是不能解决。

2.后通过查询From了解到是和镜像有关,测试把java:8换成了java:7或者java:9或centos:7都可以,发现可以编译通过,但是服务器允许会报错,因为代码sdk用的是1.8版本,通过查询docker镜像查询到有镜像java:7和 java:9没有镜像java:8,就想到可能是被删除了。

3.通过查询docker 制作java 镜像,重新制作了java镜像,重新编译后,问题果然得到了解决。

后续

查找bug的方法(随笔)相关推荐

  1. 解决bug问题,查找bug的方法

    想告别"写代码2分钟,找bug两小时"吗?,就必须掌握查找bug的能力 下面这些方法都是我这几年解决bug常用的 一.定位bug:如果在控制台中看不出bug,可以使用以下方法帮助查 ...

  2. eclipse快捷键 包括查找类、方法、变量

    [Ct rl+T] 搜索当前接口的实现类 1. [ALT +/]     此快捷键为用户编辑的好帮手,能为用户提供内容的辅助,不要为记不全方法和属性名称犯愁,当记不全类.方法和属性的名字时,多体验一下 ...

  3. 常用 BUG 解决方法

    扯淡   随着工作时间越来越长,对于代码的理解也越来越多!关注重点也渐渐地从代码本身转移到了代码结构性.解决问题方法性等方面.下面就来说一说,在遇到代码BUG,我们常用的一些方法! 二分定位法   通 ...

  4. android开发如何快速定位bug_三种bug定位方法

    1.定位bug产生的过程 测试用例的执行,基本上是程序运行过程bug产生的开始,若测试结果与期望结果有出入,即出现了错误征兆,定位bug过程首先要找出bug产生的原因,然后对bug进行修正.因此定位b ...

  5. vscode 格式化某一段代码_VSCode格式化代码功能失效的bug解决方法

    VSCode格式化代码功能失效的bug解决方法 前不久我装上了 黑苹果,那么为了快速转移开发环境,我使用了VSCode(Visual Studio Code下面简称VSCode)的插件 Setting ...

  6. 一分钟详解initUndistortRectifyMap函数bug修复方法

    本文首发于微信公众号「3D视觉工坊」--一分钟详解initUndistortRectifyMap函数bug修复方法 在上一篇文章OpenCV中initUndistortRectifyMap函数存在bu ...

  7. linux系统盘使用率达到100%的问题查找和解决方法

    linux系统盘使用率达到100%的问题查找和解决方法 参考文章: (1)linux系统盘使用率达到100%的问题查找和解决方法 (2)https://www.cnblogs.com/free-lon ...

  8. [记录]mscorlib recursive resource lookup bug解决方法

    [记录]mscorlib recursive resource lookup bug解决方法 参考文章: (1)[记录]mscorlib recursive resource lookup bug解决 ...

  9. 【Android 逆向】x86 汇编 ( 使用 IDA 解析 x86 架构的动态库文件 | 使用 IDA 打开动态库文件 | IDA 中查找指定的方法 )

    文章目录 一.使用 IDA 打开动态库文件 二.IDA 中查找指定的方法 一.使用 IDA 打开动态库文件 分析 Android SDK 中的 x86 架构的动态库 , 动态库位置 : D:\001_ ...

  10. 003---属性查找和绑定方法

    属性查找与绑定方法 属性查找 类有两种属性:数据属性和函数属性 class LuffyStudent:school = 'Luffy'def __init__(self, name, sex, age ...

最新文章

  1. ESI世界大学排名:371所内地高校上榜!
  2. Rethinking the inception architecture for computer vision的 paper 相关知识
  3. 十年磨剑 中国光伏产业强势崛起
  4. AB1601定时器1注意事项
  5. vc中调用其他应用程序的方法(函数) winexec,shellexecute ,createprocess
  6. php订单系统 帝国cms,帝国CMS商城系统在线支付后,订单邮件提醒
  7. Android 支付宝登录
  8. Python format 函数- Python零基础入门教程
  9. 理论基础 —— 索引 —— B 树、B+ 树与 B* 树
  10. Kubernetes-Pod(三)
  11. shop--7.店铺编辑和列表--店铺列表展示 前端
  12. bmp280c语言程序,51单片机读取BMP280 180 280气压值1602显示程序
  13. Navicat for MySQL触发器更新和插入操作
  14. 英雄无敌Ⅲ之游戏修改器DIY
  15. 10. logback详解,Flink流处理案例及Hive和Hbase的整合
  16. 【IoT】产品设计:结构设计之什么是堆叠设计(一)
  17. 华钜同创:亚马逊中常见的广告类型及其专业名词解释
  18. 常用数字与字母的正则表达式(转载)
  19. MySQL的JDBC 中的PreparedStatement是一把双刃剑,需要均衡利弊后再使用
  20. 弘辽科技:2022年拼多多活动时间表是什么?促销方式有哪些?

热门文章

  1. Windows XP的定时关机命令
  2. 出口美国的电动自行车UL2849测试和GCC检测标准
  3. 8700k超频测试软件,超频及功耗温度测试_Intel 酷睿i7 8700K_CPUCPU评测-中关村在线...
  4. CSS3+JavaScript效果:胶卷式放映
  5. Android桌面小插件——Widget
  6. docker报错exited(137)
  7. item在python中什么意思_Python中使用item()方法遍历字典的例子
  8. vue less 换肤
  9. 2020-03-02
  10. jetbrains DataGrip 1.0注册破解方法