Prhub

#2001 [docs] Add step-by-step debug tutorial

原始 PR 作者 liyc-ai 合并时间 2026-06-01 16:43 文件变更 2 提交数 5 评论 1 代码增减 +90 / -0

执行摘要

增加 Ray 分布式调试器单步调试教程

PR body 提到:当前调试指南覆盖了精度对齐、分离训练/推理调试和 IMA 故障排除,但缺少交互式单步调试的指导——这是开发自定义 rollout 函数或调查训练行为时的常见需求。

建议开发者精读该文档,特别是需要调试分布式训练场景时。文档步骤清晰,可操作性强。合并者快速批准也说明内容可靠。

讨论亮点

无实质性讨论,作者提交后由 zhuzilin 直接合并,仅收到一条感谢评论“This is amazing!”

实现拆解

本 PR 在 docs/en/developer_guide/debug.mddocs/zh/developer_guide/debug.md 的文件末尾分别新增了“Step-by-Step Debugging with Ray Distributed Debugger”(英文)和“使用 Ray Distributed Debugger 单步调试”(中文)章节。章节包含 4 个步骤:

  1. 安装 debugpy 1.8.0;
  2. 在启动脚本中启用 RAY_DEBUG_POSTMORTEM 环境变量并注入到 RUNTIME_ENV_JSON
  3. train.pybreakpoint() 调用前添加 ray.init(),因为分布式调试器依赖 core_worker
  4. 通过 VS Code 安装 Ray 扩展,作业暂停后从 Ray Dashboard 面板 attach 调试器进行交互调试。
    同时添加了注意事项:调试完成后务必移除 ray.init()breakpoint(),且无参数的 ray.init() 在多节点训练中可能引发问题。
文件 模块 状态 重要度
docs/en/developer_guide/debug.md 英文文档 modified 3.68
docs/zh/developer_guide/debug.md 中文文档 modified 3.68

分析完成后,这里会展示 LLM 生成的相对完整源码片段和详细注释。

评论区精华

没有提炼出高价值讨论线程

当前评论区没有形成足够清晰的争议点或结论,后续有更多讨论时会体现在这里。

风险与影响

该 PR 仅为文档变更,不涉及代码逻辑。风险极低,但需确保文档步骤在新版本 Ray 或 debugpy 中仍然有效。用户若遗漏移除调试代码可能影响训练,但文档已明确提醒。

直接影响阅读开发者指南(debug.md)的用户,为他们提供了一种实用的交互式调试方法,尤其对开发自定义 rollout 函数或调查训练行为的开发者帮助较大。影响范围限于文档读者,不涉及系统运行。

纯文档更新,风险低

关联 Issue

未识别关联 Issue

当前没有检测到明确关联的 Issue 链接,后续同步到相关引用后会出现在这里。

完整报告

参与讨论