You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Visual Studio 2022中Python调试器无法正常工作的问题

问题描述

我日常用Visual Studio Community 2022做C++开发,之前为了自动化任务装了Python Development工作负载,但当时没法在VS里运行Python代码,只能手动用控制台执行,因为是一次性任务就没修。

现在重新用Python开发,解决了运行问题(靠MSDN文档配置),但调试时遇到新问题:设置的断点完全不触发,按F11执行“单步进入”时弹出以下错误:

未找到源文件
找不到python.c
需要找到python.c才能查看当前调用栈帧的源码

选项:

  • 手动定位python.c
  • 查看反汇编

详细信息

源文件搜索信息

正在查找源文件 'D:\a\1\s\Programs\python.c'。校验和: SHA256 {3d e 15 d4 9a 77 5a 8d 50 af a6 b5 ed d4 4 ba d2 d7 9a f7 92 40 5c 76 84 70 7b c5 9 80 63 85}
文件 'D:\a\1\s\Programs\python.c' 不存在。
在脚本文档中查找 'D:\a\1\s\Programs\python.c'...
在“编辑并继续”目录 'D:\Programs\WebAutomationTest\enc_temp_folder\' 中查找...
在“编辑并继续”目录中未找到匹配校验和的文件。
在项目中查找 'D:\a\1\s\Programs\python.c'。
未在项目中找到该文件。
在目录 'C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\include\' 中查找...
在目录 'C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\include\cvt\' 中查找...
在目录 'C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\include\msclr\' 中查找...
在目录 'C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\include\sys\' 中查找...
在目录 'C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\crt\src\' 中查找...
在目录 'C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\crt\src\x64\' 中查找...
在目录 'C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\crt\src\arm\' 中查找...
在目录 'C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\crt\src\concrt\' 中查找...
在目录 'C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\crt\src\i386\' 中查找...
在目录 'C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\crt\src\linkopts\' 中查找...
在目录 'C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\crt\src\stl\' 中查找...
在目录 'C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\crt\src\vccorlib\' 中查找...
在目录 'C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\crt\src\vcruntime\' 中查找...
在目录 'C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\atlmfc\src\mfc\' 中查找...
在目录 'C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\atlmfc\src\atl\' 中查找...
在目录 'C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\atlmfc\include\' 中查找...
在目录 'C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.37.32822\atlmfc\src\mfc' 中查找...
在目录 'C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.37.32822\atlmfc\src\mfcm' 中查找...
在目录 'C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.37.32822\atlmfc\src\atl' 中查找...
在目录 '' 中查找...
在目录 'C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.37.32822\crt\src' 中查找...
在目录 'C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\VS\src' 中查找...
在目录 'C:\Program Files (x86)\Windows Kits\10\Source\10.0.22000.0\ucrt' 中查找...
在目录 'C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.37.32822\include' 中查找...
在目录 'C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.37.32822\atlmfc\include' 中查找...
在目录 'C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\VS\include' 中查找...
在目录 'C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\ucrt' 中查找...
在目录 'C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\VS\UnitTest\include' 中查找...
在目录 'C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um' 中查找...
在目录 'C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\shared' 中查找...
在目录 'C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\winrt' 中查找...
在目录 'C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\cppwinrt' 中查找...
在目录 'C:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\Include\um' 中查找...
在符号文件中搜索嵌入的文档。
未找到嵌入的文档。
活动解决方案的调试源文件设置表明,调试器不会要求用户查找文件: D:\a\1\s\Programs\python.c。
调试器无法定位源文件 'D:\a\1\s\Programs\python.c'。
解决方案

这个问题是因为调试器试图进入Python解释器的底层C核心代码(python.c),但你的环境中没有对应的源码或符号文件,同时调试器默认没有过滤非用户代码。按以下步骤解决:

1. 开启“仅我的代码”模式

这是最直接的解决方法,让调试器只关注你自己编写的Python代码,跳过底层C实现:

  • 打开VS2022,点击顶部菜单 调试 > 选项
  • 在左侧导航栏选择 调试 > 常规
  • 勾选 启用仅我的代码 选项,点击确定
  • 重启调试,断点应该能正常触发,F11也只会步进到你的Python代码里

2. 检查Python调试引擎配置

确保VS使用的是Python专用调试引擎,而不是C++引擎:

  • 右键你的Python项目,选择 属性
  • 切换到 调试 标签页
  • 确认 启动调试器 选项选择的是 Python,而非其他选项
  • 如果配置不对,修改后保存,重新调试

3. 配置Python符号文件(可选)

如果你确实需要调试Python底层代码,需要下载对应版本的Python源码和符号文件:

  • 打开 工具 > 选项 > Python > 调试
  • 勾选 自动下载符号,或者手动添加Python安装目录下的DLLs文件夹路径到符号路径
  • 从Python官方渠道下载对应版本的源码包,解压后,在调试器弹出“定位python.c”时,指向解压后的源码目录中的Programs/python.c文件

4. 修复Python开发工作负载

如果以上步骤都无效,可能是Python组件安装不完整:

  • 打开Visual Studio Installer,找到已安装的Visual Studio Community 2022
  • 点击 修改,找到Python Development工作负载
  • 点击 修复,等待组件修复完成后重启VS

内容的提问来源于stack exchange,提问作者Joel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 17:25:54