第1章 熱身準備
hack #1 除錯是什麼
除錯的流程如下:
(1) bug復現;
(2) 除錯;
(3) 確認執行過程(測試);
(4) 程式行為與預期相同,則停止;程式行為與預期不同,轉到(2)。
hack #2 debug hacks的地圖
圖1-3和圖1-4將故障分類為「異常停止」、「不停止」和「其他現象」,並分別說明原因區分方法和有關的hack編號。
核心有問題的現象:
區分方法
結果ps
顯示中途停止,狀態為d
ping
不返回響應
鍵盤鍵盤無法輸入
kill -9
無法結束程式
strace
無法附加(attach)到程序(無響應)
gdb無法附加(attach)到程序(無響應)
檢視核心資訊
softlockup等有輸出結果
hack #3 除錯的心得
當復現他人發現的bug時,如果有疑問或需要更多資訊,應當總結之後一起問。反覆詢問細小的問題會讓人疲倦,所以應當先操作一遍,將問題、疑難事項總結之後再提問。此外,對方可能不告訴你重要資訊,因為他覺得跟bug沒關係,所以在聽取時應當考慮這一點。
在匆忙中解決bug時,經常會犯下簡單的錯誤,如配置錯誤等。無法復現時,應當確認網線、配置檔案內容正確,並進一步用命令的輸出確認是否有問題。
根據現象很容易想到「很可能是某個原因」,但不要僅憑表象做出沒有根據的判斷,而應當認真地確認,否則,就會與真正的原因擦肩而過。
思考的技術 讀書筆記
所謂的新世界,就是指超越實體經濟 無國界經濟 網路經濟的多重經濟 multiple,或稱倍率經濟 在新世界,懶於求知的人,將沒有生存的空間。size large b 第一章 轉換思路 b size 要解決已經產生的問題,必須要分析問題出在 然後弄清其中的原因,再對症下藥。不要把假設和結論混為一談。認...
《多核程式設計技術》讀書筆記一
多核程式設計技術 讀書筆記一 1.馮.諾伊曼體系結構的計算機和圖靈機 馮 諾伊曼體系結構的計算機工作原理 在計算機內部使用二進位制 計算機採用五大模組 控制器 運算器 儲存器 輸入輸出裝置。程式能夠儲存並自動執行。資料通過輸入裝置進入計算機儲存器,在控制器的指揮下在運算器進行邏輯運算和算術運算處理,...
讀書筆記 深入理解Python特性(一)
目錄 1.斷言 2.可維護性建議之逗號的放置 3.上下文管理器和with 4.下劃線 雙下劃線及其他 names alice bob dilbert 而不是names 一行定義,或者 names alice bob dilbert 始終堅持多行定義並且在末行放置逗號,這樣在git diff或者別人r...