自动化与脚本
监控运行中终端进程的崩溃与堆栈错误并自动定位修复
当开发服务器、测试运行器或构建进程在终端持续运行时,用它监控错误并自动导航到出错文件行进行诊断修复。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 49/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 85/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 60/100 ×0.15
适用场景
监控运行中终端进程的崩溃与堆栈错误并自动通用
解决思路
- 列出终端文件,找到运行目标进程的终端:`head -n 10 <terminals_folder>/*.txt`
- 查找运行开发服务器的终端(如 `npm run dev`、`pnpm dev`、`python manage.py runserver` 等)。
- 读取终端文件的完整内容。
- 搜索堆栈跟踪:`at <function> (<file>:<line>:<col>)`。
- 搜索 Node.js 错误:`Error:`、`TypeError:`、`ReferenceError:`、`ENOENT`、`ECONNREFUSED`。
- 搜索 Python 错误:`Traceback (most recent call last):` 后跟 `File "<path>", line <n>`。
- 搜索 React/Next.js 错误:`Unhandled Runtime Error`、`Error: ...`、`Module not found`。
- 搜索构建错误:`ERROR in`、`Failed to compile`、`SyntaxError`。
- 搜索 Vite 错误:`[vite] Internal server error:`。
- 搜索 TypeScript 错误:`error TS\d+:`。
- 从堆栈跟踪中提取文件路径、行号和错误信息。
- 对 Node.js,按 `at functionName (/path/to/file.ts:42:10)` 提取。
- 对 Python,按 `File "/path/to/file.py", line 42, in function_name` 提取。
- 读取已识别文件中错误行附近的代码。
- 理解错误(如缺少导入、类型不匹配、未定义变量等)。
- 应用修复。
- 重新读取终端文件,确认服务器已恢复(热重载应会接收改动)。
- 如果修复后服务器仍显示错误,从第 2 步重复。
- 停止条件:终端显示干净的 `compiled successfully` 或等效信息。
- 停止条件:输出中没有新错误出现。
- 停止条件:已尝试 5 次仍未解决(向用户报告)。
- 检查终端文件页脚中的 `exit_code`——如果存在,说明进程已完全崩溃,需要重启。
- 有些错误会级联——修复第一个/根错误,其余错误通常会消失。
- 对于 HMR 错误,修复可能只是再次保存文件以触发重新构建。
适用边界 · 注意事项
- 终端中没有正在运行的进程,或无法访问终端输出文件时,无法监控。
- 错误不在终端输出中(例如浏览器控制台、生产日志、未输出到终端的 CI)时,不适用。
- 自动修复可能带来高风险(安全、数据迁移、依赖升级等)或根因不明确时,不应盲目自动修复。