Threadser.net
數據
關鍵字
功能建議
Blog
Following
Threads
Change language
登入
串文
串文鏈結
2024-12-13 02:10
Debug 總是讓你感到抓狂? 利用這個實際案例幫助你建立系統性思考方式,儘快找到問題根源 🔍 每個工程師都經歷過 debug 的折磨:問題找不到、解決不了,最後卻發現是自己在耍笨⋯。 在我多年的開發經驗中,發覺我們程式設計師很容易會犯這兩個嚴重的錯誤,來看看你是屬於哪一種: 1. 像無頭蒼蠅一樣,用直覺隨機猜測問題可能是發生在哪裡 2. 遇到問題時,第一個反應是怪程式、怪電腦、怪同事 (🚫),就是不先檢視自己的程式碼 今天,我想跟你分享一個我最近 debug 的實戰經驗,讓你看看如何運用系統性思考,快速找出問題根源。 我們進入主題。 就在上週四,一大早我進辦公室後,就被告知我所維護的一套網站出了問題,登入後反應很慢。 我本能的反應是:「是嗎?讓我來打開看看⋯」因為多數時候當有人跟我抱怨很慢時,我的連線都沒有問題。但這次可就不同了,連我自己的瀏覽器的圓圈都一直轉個不停。 (1/6)
讚
89
回覆
8
轉發
9
作者
尼爾的程式技能樹 | 分享 Python 相關經驗和技巧
neil.skilltree
粉絲
5,059
串文
143+
讚
回覆
轉發
24小時粉絲增長
發文前
4,979
發文後24小時
4,999
變化
+20 (0.40%)
互動率
(讚 + 回覆 + 轉發) / 粉絲數
2.10%
回覆 (BETA)
最先回覆的內容
發文後
用戶
內容
幾秒內
尼爾的程式技能樹 | 分享 Python 相關經驗和技巧
neil.skilltree
我的第一個 debug 動作,就是先連進系統裡看網頁伺服器的 log,結果發現有一條記錄是錯在某個我多年前所安裝、但早就沒在用的 WSGI module,是跟 Python web app 有關的。因為用不到了,我就順手把它給卸載;不過,問題仍是沒解決,開始報出某些 process coredump 了⋯。 忙了一小陣,發現是資料庫吃掉系統的 CPU 資源。不過,通常這都是太多人點擊了報告頁面所導致的,因為它會向我們的資料庫下數十道 SQL query 指令。我就下了 restart 讓它重啟,但結果並沒有比較好,重啟後不到5分鐘,系統負載又持續飆高⋯。 這時我的同事來了,他在系統裡看了看,懷疑是硬體出了問題。畢竟這套系統也上架很多年了,近年來只要每逢跳電或電力系統維修,我們的機器就像抽樂透一樣,看是哪一台會中獎,中了不是硬碟壞掉就是主機板爛掉。 他就帶著我一同去檢查,結果查了之後竟然是一切都沒問題!這下可好,要如何找問題? (2/6)