Trae安装好后不能像vscode那样debug,只能用print调试,很麻烦,这里记录配置方法。
一、为什么需要 Debug?
在日常开发中,遇到程序异常时,我们的第一反应往往是 print() 大法------哪里不对打哪里。但随着业务逻辑变复杂,print 的效率会急剧下降:你需要反复加打印、跑脚本、看日志、删打印,循环往复。
Debug(断点调试)能让你在代码运行时随时"冻结"程序,查看那一刻所有变量的真实值,单步跟踪执行路径。一次配置,终身受益。
二、环境准备
使用 uv 管理依赖的 Python 项目为例:
obj_fy/
├── .venv/ # 虚拟环境
├── .vscode/
│ └── launch.json # 调试配置(待创建)
├── pyproject.toml # 项目依赖
└── demo_20260811.py # 待调试脚本
三、第一步:安装 Python Debugger 扩展
- 在 Trae 左侧栏点击 扩展 图标,或按快捷键 Ctrl+Shift+X
- 搜索框输入
debugpy - 找到 Python Debugger (发布者为 Microsoft),点击 安装
- 安装完成后点击 启用(如未自动启用)
注意 :安装后建议重启 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 启动调试
- 确保你已打开待调试的
.py文件(如manju_20260811.py) - 点击左侧栏 运行和调试 图标(或按 Ctrl+Shift+D)
- 顶部下拉选择 "Python: 当前文件"
- 点击绿色三角按钮,或直接按 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(): 下一行)先设一个断点,确保程序能停下来,再逐步跟进。
