Linux排错思想
排错基本思想:计算机本身是不会犯错误的,它是一个工具和载体,只会按照人们输入的命令或者程序执行。报错是因为人在操作的时候有问题,或者程序设计的时候有BUG,甚至是硬件设计缺陷等等。
1.查看失败信息定位故障
1)首先查看报错信息
报错信息会直接反应程序在运行时,那一块发生了什么错误,一般来说会直接指出相关问题,按照其提示进行检查即可。如果特别熟悉报错,会直接明白在哪里出了错误,所以需要进行积累。
2)其次查看日志信息
有时报错信息比较简单,无法满足定位的问题,所以就需要看日志,日志信息中会有明确的所有的提示,程序是怎么运行的,运行到了哪一步,哪一步出现了问题,有错误。进而根据日志文件来判定程序的错误处。也需要积累相关的错误日志信息,越熟悉,定位越快。
2.断点测试命令行或程序定位故障
1)将一个复杂命令,分成多个简单命令运行
如果第一步的日志报错法无法解决的话,就需要将命令一步一步执行,达到芝麻开花节节高的效果。将繁琐的复杂命令从头开始拆分为几个简单的命令,确保每个简单命令都成功执行,如果在哪里出现问题,问题应该就在那一处
2)先运行最简单的基础模型,在此基础上进行拓展
如果是编程及脚本设计的话,最好先检查最核心的功能代码或者程序,再一步,一步的进行拓展的检查,最终解决问题。
3.从头开始按照搭建相关要求(重新一步一步进行检查)定位故障
如果前几种方法均不凑效的方法下,均需要从头开始,按照搭建的要求及顺序进行一项一项的检查,相关与重新来一遍。(一般来说此方法适合于较细心的人,自己检查自己的错误有时会检查不出来)
4.比对检查定位故障
此种方法适合于程序设计较大,代码较多,或者以前运行正确的情况,现在有问题的情况。把命令和所有操作以及所有的命令都输入一个文件,然后找一个以前运行成功的文件或者其他人运行成功的文件,使用diff或者vimdiff,相信一般问题是直接会被你肉眼看到了。
5.排障秘籍:思想定位故障
有一些排好长时间都排不了的故障,往往发生在最低级、最容易让人忽略、或者让你感到不可能出错的地方。
6.排障最终奥义:软件真的有BUG,或者硬件坏了