Python——检查brk模拟

Python——检查brk模拟,python,debugging,visual-studio-code,pdb,node-inspector,Python,Debugging,Visual Studio Code,Pdb,Node Inspector,Node.js中有一个--inspect brk CLI开关可用于暂停脚本执行,直到将调试器连接到进程。有没有类似的方法可以让Python解释器挂起,直到附加调试器 我知道PDB的“import PDB;PDB.set_trace()”选项。关键是我想以一种非黑客的方式利用VSCode内置调试器。到目前为止,我已经能够使用“-m pdb”选项运行Python脚本,使用VSCode通过PID附加到脚本,使用VSCode调试器暂停脚本执行,然后在pdb中键入“下一步”(不知何故,此序列会截获VSCo

Node.js中有一个--inspect brk CLI开关可用于暂停脚本执行,直到将调试器连接到进程。有没有类似的方法可以让Python解释器挂起,直到附加调试器


我知道PDB的“import PDB;PDB.set_trace()”选项。关键是我想以一种非黑客的方式利用VSCode内置调试器。到目前为止,我已经能够使用“-m pdb”选项运行Python脚本,使用VSCode通过PID附加到脚本,使用VSCode调试器暂停脚本执行,然后在pdb中键入“下一步”(不知何故,此序列会截获VSCode调试器的控制),我就成功了。我知道可以通过配置launch.json文件直接运行VSCode调试器,但它不适合作为其他shell脚本的一部分运行Python脚本的情况。前面提到的Node.js开关在这种情况下非常有用,我想知道我是否可以用Python做类似的事情。

我知道这有点像线程坏死,但要回答您最初提出的“模拟节点——检查brk for Python”的问题,答案是否定的。Python解释器中没有内置这种功能。几天前,我在谷歌上的搜索让我发现了你的未解之谜,所以我想我会回来分享我的工作成果

我发现的最接近的经验来自VS代码文档的部分。我不会详细介绍您可以使用的各种命令选项,但我会包括我在发布时所拥有的,以防将来链接失效

假设:

  • 你在用蟒蛇3
  • pip3安装——用户debugpy
    已在某个点运行
VS代码启动配置

{
  "name": "Attach To DebugPy (9339)",
  "type": "python",
  "request": "attach",
  "connect": {
    "port": 9339
  }
}
工作流程:

  • python3-m debugpy--listen 9339--等待客户端。/main.py
  • 单击VS代码中的调试器“附加”目标