如何优雅地在Mac上使用VS Code调试Python程序(How to use a Debugger)

本文详细介绍了在VSCode中配置并使用Python调试器的过程,包括安装插件、配置调试环境、解决常见错误、掌握调试模式的基本操作及观看教程进一步提升技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、安装插件

首先你需要在 VScode 中安装 python 插件(在 Mac 上如果因为 rg 程序,产生高 CPU,请看解决方法

二、配置Python调试

找到 Debug 界面

在 launch.json 的 Add Configuration 中选择 Python FIle(如果一开始launch.json文件,可以点调试键,选择 Python,然后它会自动生成一个)

launch.json文件

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [        
        {
            "name": "Python: Current File",
            "type": "python",
            "request": "launch",
            "program": "${file}",
            "console": "integratedTerminal"
        },
    ]
}

另外你需要在 launch.json 的同目录下创建一个settings.json,内容如下:

{
    "python.pythonPath": "/usr/local/bin/python3",
}

在这里插入图片描述

保存后重启 VScode。选择某个 python 文件点击 debug 界面的绿色的箭头(选择选择 Python: Current File)或 按F5 开启调试模式

配置成功后的界面如下图所示:

在这里插入图片描述


三、报错解决

之前我配置好以后,是可以调试的,但是不知道为什么过一段时间后突然无法打开调试模式了

报错如下:

在这里插入图片描述
查了半天,发现别人按这样配置都是成功的,为什么我就不行呢?后来看到一篇文章里面他们的 cd 后面是有个 ; 的,我的却没有,所以导致了cd: too many arguments的问题。

那为什么我的没有 ; 呢???

想了一段时候后,终于明白了!原来是我在 zshrc 中设置了 ; 自动补全,所以这个分号被用掉了!


解决方法

~/.zshrc 中的自动补全快捷键修改成另外的快捷键(推荐 ctrl + space)

bindkey '^ ' autosuggest-accept

重启 VScode 后(必须重启,source 没用的),就能顺利进入 Python 调试模式了

修Bug的经验
在终端设置的某些快捷键,例如,; 自动补全,` tmux 前缀,fzf 的一些 ctrl 系列快捷键,这些可能会影响你命令行的输入,比如少个 ; 符号等!!!

这个坑点往往是很难发现的,因为我会本能地去想是不是 python 插件出了问题,是不是插件版本的问题,是不是 json 配置有问题,结果路走反了,也走远了,实际上是终端快捷键的问题


四、如何使用调试模式

一般情况下我们自己写的代码没有必要用调试模式,用 print 大法就够用了,但是当我们使用别人的代码或者大型的开源代码时,我们需要同时监测很多变量,这时再用 print 就会显得很低效,而使用调试工具将有助于我们高效地理解代码以及解决报错

按 F5 启动调试(至少要有一个断点,因为 Debug 模式遇到断点才会停止)

在这里插入图片描述

黄色行表示即将执行这一行

监视窗口:在 watch 可以手动添加自己想要监视的变量或变量表达式,例如 nums[:4]a < b


CALL STACK :查看 scope 的层级

在这里插入图片描述

调试控制台:可以输入变量查看结果

在这里插入图片描述


调试continue、step over、step into、step out

在这里插入图片描述

Continue – An action to take in the debugger that will continue execution until the next breakpoint is reached or the program exits.(直到遇到下一个断点后停止,断点的顺序是按照程序的逻辑运行顺序来排的)

Step over – An action to take in the debugger that will step over a given line. If the line contains a function the function will be executed and the result returned without debugging each line.(简单来说,就是无脑地往下移动一行)

Step into – An action to take in the debugger. If the line does not contain a function it behaves the same as “step over” but if it does the debugger will enter the called function and continue line-by-line debugging there.

Step out – An action to take in the debugger that returns to the line where the current function was called.(按照 CALL STACK 中的顺序 scope 退一层)

https://www.fourkitchens.com/blog/article/step-step-through-debugging/

五、Debugger视频教程

更多调试用法请看视频:2020-如何正确用VSCode调试Python程序

在这里插入图片描述

Reference

<think>好的,用户的问题是在VS Code中缺少'Python Debugger: Python File'配置,需要知道如何在launch.json中添加这个配置项。首先,我需要回忆一下VS Code调试配置流程。 用户可能已经安装了Python扩展,但可能没有正确配置调试器。通常,当用户第一次运行调试时,VS Code会提示生成launch.json文件。但如果没有自动生成,或者用户需要手动添加配置,就需要进入调试界面,点击“创建launch.json文件”,然后选择Python环境。 接下来,需要确保在launch.json的configurations数组中包含正确的Python配置。根据引用[1],VS Code默认展示通用配置,但用户可能需要手动选择Python调试器。引用[2]和[3]提到在配置ROS或远程调试时需要注意环境变量和路径,但当前问题更基础,可能不需要涉及ROS或Docker。 用户可能需要检查是否安装了Python扩展,比如ms-python.python。如果已安装,但配置缺失,可以手动添加以下配置项: { "name": "Python: Current File", "type": "python", "request": "launch", "program": "${file}", "console": "integratedTerminal" } 这应该是标准的Python文件调试配置。引用[4]提到要修改program和args字段,但这里只需要指定当前文件即可。如果用户遇到路径问题,可能需要调整program的路径。 另外,用户可能需要通过点击“添加配置”按钮,从列表中选择Python调试选项,如引用[1]所述。如果launch.json不存在,需要先创建它。需要指导用户一步步进入调试侧边栏,点击齿轮图标,选择Python环境,然后添加配置。 最后,要确保用户保存了launch.json,并按F5启动调试。如果仍然有问题,可能需要检查Python解释器是否选择正确,或者重新加载VS Code。</think>以下是如何在VS Code的launch.json中添加Python调试配置的步骤: ### 解决步骤 1. **打开调试配置界面** - 点击左侧活动栏的"调试"图标(或按`Ctrl+Shift+D`) - 点击顶部配置栏的齿轮图标⚙️ → 选择"Python"环境 2. **自动生成launch.json** ```json { "version": "0.2.0", "configurations": [ { "name": "Python: Current File", "type": "python", "request": "launch", "program": "${file}", "console": "integratedTerminal", "justMyCode": true } ] } ``` 这是标准的Python文件调试配置模板[^1] 3. **手动添加配置(如果未自动生成)** - 在项目根目录创建`.vscode/launch.json` - 复制上述配置内容 - `program`字段使用`${file}`变量表示当前文件[^4] 4. **验证配置** - 打开Python文件 - 按`F5`启动调试 - 观察终端是否显示Python解释器输出 ### 常见问题排查 | 现象 | 解决方案 | |--------------------|----------------------------| | 缺少Python扩展 | 安装"Python"扩展(ID: ms-python.python) | | 解释器未选择 | 按`Ctrl+Shift+P` → 输入"Python: Select Interpreter" | | 路径包含特殊字符 | 将项目移动到纯英文路径 |
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

捡起一束光

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值