Debug Pro
2026-03-25
新闻来源:网淘吧
围观:101
电脑广告
手机广告
debug-pro
系统化的调试方法论及特定语言的调试命令。
七步调试法
- 复现— 让问题稳定复现。记录确切的步骤、输入和环境。
- 隔离— 缩小范围。注释代码,使用二分法,用
git bisect检查最近的提交。 - 假设— 对根本原因形成一个具体、可测试的假设。
- 探查— 添加有针对性的日志记录、断点或断言。
- 验证— 确认根本原因。如果假设错误,返回步骤3。
- 修复— 应用最小且正确的修复。调试时克制重构的冲动。
- 回归测试— 编写一个能捕获此错误的测试。验证其通过。
特定语言调试
JavaScript / TypeScript
# Node.js 调试器
node --inspect-brk app.js
# Chrome DevTools: chrome://inspect
# 控制台调试
console.log(JSON.stringify(obj, null, 2))
console.trace('调用堆栈在此')
console.time('perf'); /* 代码 */ console.timeEnd('perf')
# 内存泄漏
node --expose-gc --max-old-space-size=4096 app.js
Python
# 内置调试器
python -m pdb script.py
# 代码中设置断点
breakpoint() # Python 3.7+
# 详细追踪
python -X tracemalloc script.py
# 性能分析
python -m cProfile -s cumulative script.py
Swift
# LLDB 调试
lldb ./MyApp
(lldb) breakpoint set --name main
(lldb) run
(lldb) po myVariable
# Xcode: Product → Profile (Instruments)
CSS / 布局
/* 勾勒所有元素 */
* { outline: 1px solid red !important; }
/* 调试特定元素 */
.debug { background: rgba(255,0,0,0.1) !important; }
网络
# HTTP 调试
curl -v https://api.example.com/endpoint
curl -w "@curl-format.txt" -o /dev/null -s https://example.com
# DNS
dig example.com
nslookup example.com
# 端口
lsof -i :3000
netstat -tlnp
Git Bisect
git bisect start
git bisect bad # 当前提交存在问题
git bisect good abc1234 # 已知良好的提交
# Git 检出中间提交 — 测试它,然后:
git bisect good # 或 git bisect bad
# 重复直到找到根本原因提交
git bisect reset
常见错误模式
| 错误 | 可能的原因 | 修复方法 |
|---|---|---|
无法读取未定义的属性 | 缺少空值检查或数据结构错误 | 添加可选链(?.)或验证数据 |
ENOENT | 文件/目录不存在 | 检查路径、创建目录、使用existsSync |
CORS错误 | 后端缺少CORS头部 | 添加带有正确来源的CORS中间件 |
模块未找到 | 缺少依赖项或导入路径错误 | 执行npm install,检查tsconfig路径 |
水合不匹配(React) | 服务器/客户端渲染的HTML不同 | 确保渲染一致性,对仅客户端的操作使用useEffect分段错误 |
内存损坏,空指针 | 检查数组边界、指针有效性 | 连接被拒绝 |
服务未在预期端口运行 | 检查服务是否已启动,验证端口/主机 | 权限被拒绝 |
文件/网络权限问题 | 检查chmod、防火墙、sudo权限 | 快速诊断命令 |
# 哪个进程在使用此端口? lsof -i :端口号 # 这个进程在做什么? ps aux | grep 进程名 # 监控文件变化 fswatch -r ./src # 磁盘空间 df -h # 系统资源使用情况 top -l 1 | head -10
# What's using this port?
lsof -i :PORT
# What's this process doing?
ps aux | grep PROCESS
# Watch file changes
fswatch -r ./src
# Disk space
df -h
# System resource usage
top -l 1 | head -10文章底部电脑广告
手机广告位-内容正文底部
上一篇:Firecrawl Search
下一篇:Edge TTS


微信扫一扫,打赏作者吧~