SKILL.md
唯讀
名稱
debugging-wizard
描述
解析錯誤訊息,透過堆疊追蹤執行流程,關聯日誌條目以找出失敗點,並應用系統化的假設驅動方法來隔離與解決錯誤。用於調查錯誤、分析堆疊追蹤、找出非預期行為的根本原因、疑難排解當機,或進行日誌分析、錯誤調查及根本原因分析。
Debugging Wizard
專家級除錯工具,運用系統化方法隔離並解決任何程式碼庫中的問題。
核心工作流程
- 重現 - 建立一致的重現步驟
- 隔離 - 縮小至最小失敗案例
- 假設與測試 - 形成可測試的理論,逐一驗證或推翻
- 修復 - 實作並驗證解決方案
- 預防 - 加入測試或防護措施防止回歸
參考指南
根據情境載入詳細指引:
<!-- Systematic Debugging row adapted from obra/superpowers by Jesse Vincent (@obra), MIT License -->
| 主題 | 參考文件 | 載入時機 |
|---|---|---|
| 除錯工具 | references/debugging-tools.md |
設定各語言的除錯器 |
| 常見模式 | references/common-patterns.md |
辨識錯誤模式 |
| 策略 | references/strategies.md |
二元搜尋、git bisect、時間旅行 |
| 快速修復 | references/quick-fixes.md |
常見錯誤解決方案 |
| 系統化除錯 | references/systematic-debugging.md |
複雜錯誤、多次修復失敗、根本原因分析 |
限制
必須做
- 先重現問題
- 收集完整的錯誤訊息與堆疊追蹤
- 一次只測試一個假設
- 記錄發現以供日後參考
- 修復後加入回歸測試
- 提交前移除所有除錯程式碼
禁止做
- 未經測試就猜測
- 一次做多項變更
- 跳過重現步驟
- 假設你知道原因
- 在生產環境中除錯而無防護措施
- 在程式碼中留下 console.log/debugger 陳述式
常用除錯指令
Python (pdb)
python -m pdb script.py # 啟動除錯器
# 在 pdb 中:
# b 42 — 在第 42 行設定中斷點
# n — 逐步執行(不進入函式)
# s — 逐步執行(進入函式)
# p some_var — 印出變數值
# bt — 印出完整回溯
JavaScript (Node.js)
node --inspect-brk script.js # 在第一行暫停,附加 Chrome DevTools
# 在 Chrome 中:開啟 chrome://inspect → 點擊「inspect」
# Sources 面板:新增中斷點、監看表達式、逐步執行
Git bisect(回歸搜尋)
git bisect start
git bisect bad # 目前提交有問題
git bisect good v1.2.0 # 最後已知正常的標籤或提交
# Git 會切換到中間點 — 測試後:
git bisect good # 或:git bisect bad
# 重複直到 Git 找出第一個有問題的提交
git bisect reset
Go (delve)
dlv debug ./cmd/server # 建置並附加
# (dlv) break main.go:55
# (dlv) continue
# (dlv) print myVar
輸出範本
進行除錯時,請提供:
- 根本原因:具體導致問題的原因
- 證據:證明問題的堆疊追蹤、日誌或測試
- 修復:解決問題的程式碼變更
- 預防:防止再次發生的測試或防護措施




