操作前说明 #
运行示例代码前,建议先确认 Python 版本。旧文章中可能包含 Python 2 写法,如果当前环境是 Python 3,需要注意 print、字符串编码、包安装方式和模块路径差异。
原始操作记录 #
首先安装 Visual Studio 2019 Community(免费的),必须安装 Python 和 调试器组件。
(不用按照我安装的组件来选择,我还开发和调试其他东西,所以还装了其他组件)
然后安装 Python 的 ptvsd 包
pip/pip3 install ptvsd创建 py 文件
import ptvsd
ptvsd.enable_attach() #允许调试
ptvsd.wait_for_attach() #等待附加调试器
ptvsd.break_into_debugger()并将此文件在本地保存一个副本
执行这个 py 文件,然后返回 VS,选择“调试菜单”下的“附加到进程”

在打开的窗口中设置如下:

连接类型:Python remote (ptvsd)
连接目标:tcp://ip:5678 (远程执行那个py文件的机器的ip)
点击“刷新”按钮,在可用进程列表中就列出了远程机器执行py文件的那个进程,选择该进程,点击最下方的“附加”按钮
这时,会要求打开远程调试的py文件的本地副本

选择刚刚在本地保存的py文件副本打开

看看,已经打开调试模式了,并且已经中断;远程控制台也没有输出

按几下 F11 进入 for 循环一次看看效果

已经输出数组a的一个元素1了,我们来打开变量a的快速监视窗口看看

很奈斯对不对!
关键理解 #
这类笔记最重要的不是把命令背下来,而是弄清楚它解决的是什么问题、依赖什么环境、执行后会改变什么。以后再次遇到类似情况时,可以先根据标题判断问题方向,再对照原始命令确认是否适合当前系统版本。
如果命令中包含具体路径、网卡名、磁盘名、进程名、IP 地址、端口号、用户名称或软件版本,实际执行时都要替换成自己环境中的真实值。不要直接照抄示例里的占位内容。
验证方法 #
验证时可以先准备一个最小示例,把输入、输出和异常情况都跑一遍。对于脚本类工具,建议先在临时目录或测试文件上执行,确认结果正确后再处理真实数据。
如果验证结果和预期不一致,建议先不要继续叠加更多修改,而是回到第一步检查环境差异。很多问题并不是命令本身错误,而是当前系统版本、软件版本、路径名称或权限条件与原记录不一致。
注意事项 #
涉及文件批量处理、系统命令调用、进程池线程池或第三方包时,要特别注意异常处理和边界条件,避免脚本中途失败后留下半成品数据。
对于旧文章中的命令,还要考虑软件版本变化。浏览器 flags、Linux 发行版默认配置、Python 包版本、Windows 系统设置都会随着时间调整。再次使用时,最好把这篇记录当成排查思路,而不是绝对固定的唯一答案。
小结 #
这篇记录可以作为一个快速索引:先看标题确认问题类型,再看原始命令找到核心操作,最后结合验证方法确认是否真正生效。这样既保留了早期备忘的简洁性,也能减少以后重复排查的时间。