1. 概述
在日常開發過程中,我們常常會遇到各種各樣的bug,如果是開發階段遇到問題,可以慢慢排查。但如果是線上的應用出現問題,那麼每一分每一秒都是及其寶貴的。因此,我們需要更加快速地定位並解決問題。
本文章所介紹的就是自己在開發過程中總結出來的排查問題通用步驟。按照這些步驟來,可以更加快速地定位問題,讓我們不至於手足無措。
2. 步驟
一個問題的定位過程,整體上可以分爲以下7步。
2.1 報錯信息
報錯信息是我們的第一手資料,裏面會列出錯誤的大致信息,例如錯誤碼,錯誤文件名和行號。
2.2 定位服務
通過錯誤信息我們可以定位到服務。
2.3 確定服務狀態
定位服務後,首先確定服務狀態是否正常。這一步看似可有可無,但如果遇到了,你可能會傻里傻氣地浪費幾個小時查源碼。
2.4 定位日誌
確定服務狀態正常後,就可以確定是服務內部錯誤,那麼接着就是定位日誌。確定日誌所在的文件夾、日誌的名字(企業應用中日誌有很多種類,通常按種類+日誌命名)。
2.5 查看日誌
定位到日誌後就可以分析日誌了。通常的做法是自下而上地搜索報錯信息或者錯誤碼,這樣可以最快地定位錯誤的位置。
2.6 分析出錯原因
定位到日誌中錯誤的相信信息後,就可以結合業務邏輯分析出錯原因。如果可能的原因有多個,則需要一一排查。
2.7 給出解決方案
針對出錯原因給出相應的解決方案。
總結
上述步驟只是一個通用模板,不同的應用可能還有一些其他步驟,但大致的流程應該差別不大。