Trae CN Python环境调试debug指南

AI 时代程序员必备技能

Codex、Claude Code、Cursor、Hermes Agent、OpenClaw等工程化实战专栏 ,讲透 AI 如何接管脏活累活

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,写入以下配置:

{
    "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 设置断点

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

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(): 下一行)先设一个断点,确保程序能停下来,再逐步跟进。

AI 时代程序员必备技能

Codex、Claude Code、Cursor、Hermes Agent、OpenClaw等工程化实战专栏 ,讲透 AI 如何接管脏活累活

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值