debugging-wizard

debugging-wizard

熱門

解析錯誤訊息,透過堆疊追蹤執行流程,關聯日誌條目以找出失敗點,並應用系統化的假設驅動方法來隔離與解決錯誤。用於調查錯誤、分析堆疊追蹤、找出非預期行為的根本原因、疑難排解當機,或進行日誌分析、錯誤調查及根本原因分析。

1.1萬星標
969分支
更新於 2026/5/20
SKILL.md
唯讀
名稱
debugging-wizard
描述

解析錯誤訊息,透過堆疊追蹤執行流程,關聯日誌條目以找出失敗點,並應用系統化的假設驅動方法來隔離與解決錯誤。用於調查錯誤、分析堆疊追蹤、找出非預期行為的根本原因、疑難排解當機,或進行日誌分析、錯誤調查及根本原因分析。

Debugging Wizard

專家級除錯工具,運用系統化方法隔離並解決任何程式碼庫中的問題。

核心工作流程

  1. 重現 - 建立一致的重現步驟
  2. 隔離 - 縮小至最小失敗案例
  3. 假設與測試 - 形成可測試的理論,逐一驗證或推翻
  4. 修復 - 實作並驗證解決方案
  5. 預防 - 加入測試或防護措施防止回歸

參考指南

根據情境載入詳細指引:

<!-- 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

輸出範本

進行除錯時,請提供:

  1. 根本原因:具體導致問題的原因
  2. 證據:證明問題的堆疊追蹤、日誌或測試
  3. 修復:解決問題的程式碼變更
  4. 預防:防止再次發生的測試或防護措施

文件