Trae CN Python环境调试debug指南

Trae安装好后不能像vscode那样debug,只能用print调试,很麻烦,这里记录配置方法。

一、为什么需要 Debug?

在日常开发中,遇到程序异常时,我们的第一反应往往是 print() 大法------哪里不对打哪里。但随着业务逻辑变复杂,print 的效率会急剧下降:你需要反复加打印、跑脚本、看日志、删打印,循环往复。

Debug(断点调试)能让你在代码运行时随时"冻结"程序,查看那一刻所有变量的真实值,单步跟踪执行路径。一次配置,终身受益。

二、环境准备

使用 uv 管理依赖的 Python 项目为例:

obj_fy/

├── .venv/ # 虚拟环境

├── .vscode/

│ └── launch.json # 调试配置(待创建)

├── pyproject.toml # 项目依赖

└── demo_20260811.py # 待调试脚本

三、第一步:安装 Python Debugger 扩展

  1. 在 Trae 左侧栏点击 扩展 图标,或按快捷键 Ctrl+Shift+X
  2. 搜索框输入 debugpy
  3. 找到 Python Debugger (发布者为 Microsoft),点击 安装
  4. 安装完成后点击 启用(如未自动启用)

注意 :安装后建议重启 Trae,确保扩展完全加载。

四、第二步:配置 launch.json

扩展安装后,还需要一个配置文件告诉 IDE "怎么启动调试"。

4.1 创建配置文件

在项目根目录的 .vscode 文件夹中,打开(或新建)launch.json,写入以下配置:

json 复制代码
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: 当前文件",
            "type": "debugpy",
            "request": "launch",
            "program": "${file}",
            "console": "integratedTerminal",
            "cwd": "${workspaceFolder}",
            "python": "${workspaceFolder}/.venv/Scripts/python.exe"
        }
    ]
}

4.2 字段含义详解

字段 说明
name "Python: 当前文件" 调试配置名称,下拉选择时显示
type "debugpy" 指定使用 debugpy 调试器
request "launch" 启动模式(每次调试新启一个进程)
program "${file}" 当前在编辑器打开的文件
console "integratedTerminal" 在集成终端中运行,方便输入和查看输出
cwd "${workspaceFolder}" 运行目录设为项目根目录
python .venv 路径 指向项目的虚拟环境 Python,隔绝全局干扰

五、设断点定位 Bug

5.1 设置断点

在代码编辑器中,行号左侧空白处单击,出现一个红色圆点,即断点已设置。

python 复制代码
def fun1():
    """满聚统计-英文学位论文"""
    print("开始处理数据")          # ← 在这行设断点
    data = load_jsonl("input/")
    result = aggregate(data)      # ← 也可以在这行设断点
    return result

5.2 启动调试

  1. 确保你已打开待调试的 .py 文件(如 manju_20260811.py
  2. 点击左侧栏 运行和调试 图标(或按 Ctrl+Shift+D
  3. 顶部下拉选择 "Python: 当前文件"
  4. 点击绿色三角按钮,或直接按 F5

程序运行到断点处会自动暂停,当前行高亮显示为黄色。

5.3 调试工具栏操作指南

程序暂停后,顶部出现调试工具栏:

按钮 快捷键 功能 使用场景
继续 F5 运行到下一个断点 确认当前段没问题,跳到下一检查点
逐过程 F10 执行当前行,不进入函数内部 确认函数调用结果,不关心内部细节
逐语句 F11 进入函数内部逐行执行 怀疑函数内部有 Bug,需要深入排查
跳出 Shift+F11 跳出当前函数 函数内排查完毕,回到调用处
重启 Ctrl+Shift+F5 重新启动调试 修改代码后重新跑一遍
停止 Shift+F5 终止调试 确认问题已定位,结束调试

5.4 查看变量与表达式

程序暂停时,左侧面板会显示:

  • 变量(Variables):当前作用域内所有变量及其值,展开可看嵌套结构
  • 监视(Watch) :手动添加表达式(如 len(data)data[0]['title']),实时计算结果
  • 调用堆栈(Call Stack):显示函数调用链路,点击可跳转到调用方

六、常见问题

Q1:右键菜单没有"调试 Python 文件"选项

原因:未安装 debugpy 扩展或未配置 launch.json。

解决:按本文第三章、第四章顺序操作,完成后重启 Trae。

Q2:启动调试报 debugpy not found

原因:虚拟环境中没有 debugpy 包。

解决 :执行 uv pip install debugpy,确认 .venv/Scripts/python.exe 路径正确。

Q3:断点是灰色空心圆,不会命中

原因 :launch.json 中的 python 路径与实际解释器不一致。

解决

  • 在终端执行 .venv\Scripts\python.exe -c "import sys; print(sys.executable)" 获取正确路径
  • 或临时删除 launch.json 中的 python 字段,让系统自动选择解释器

Q4:程序直接跑完不暂停

原因 :断点所在代码分支未被执行到(如 if 条件不满足)。

解决 :在函数入口处(如 def fun1(): 下一行)先设一个断点,确保程序能停下来,再逐步跟进。

相关推荐
PPPPickup1 小时前
基础知识差缺补漏-面试版持续更新
java·开发语言
渣男教父1 小时前
Python游戏自动化实战案例
python·编程语言
兔兔兔兔11 小时前
记录C++ 3
开发语言·c++
黄鸭部落格ShiYuYuanFang1 小时前
【分享】软考每日一练与解析-计组 8/12
java·开发语言
天天爱吃肉82181 小时前
【工程师笔记|新能源整车电控一次过CISPR25/BCI,汽车EMC/EMI落地十大核心设计技巧】
大数据·人工智能·笔记·python·汽车
m0_617493941 小时前
Python 使用 cryptography 实现数据加密与解密
开发语言·python
大白同学4211 小时前
初始Qt——了解Qt背景
开发语言·qt
万山寒2 小时前
python依赖包导出离线安装到没有外网的服务器
服务器·开发语言·python
特立独行的猫a2 小时前
我用 Rust + Tauri 2 复刻了 N_m3u8DL-CLI:一个 m3u8 多线程下载器
开发语言·后端·rust·m3u8·视频下载器·m3u8dl-cli