如何解决Python --inspect-brk模拟
Node.js中有一个--inspect-brk CLI开关可唤醒,以暂停脚本执行,直到将调试器附加到该进程为止。在附加调试器之前,有没有类似的方法可以告诉Python解释器挂起?
我知道PDB的“导入pdb; pdb.set_trace()”选项。关键是我想以一种非hacky的方式利用VSCode内置的调试器。到目前为止,我已经能够使用“ -m pdb”选项运行Python脚本,并使用VSCode通过PID将其附加到该脚本,并在我向pdb中键入“ next”之前用VSCode调试器暂停脚本执行(以某种方式该序列截取了我进入了。我知道通过配置launch.json文件直接运行VSCode调试器的选项,但是它不适合我将Python脚本作为其他shell的一部分运行的情况脚本。前面提到的Node.js开关在这种情况下真的很有帮助,我想知道我是否可以使用Python做类似的事情。
解决方法
我知道这有点像线程坏死,但是要回答您最初提出的“Python 节点的模拟 --inspect-brk”的问题,答案是否定的。该功能未内置于 python 解释器中。几天前我的谷歌搜索让我找到了你未回答的问题,所以我想我会回来分享我的工作。
我发现的最接近的体验来自 VS Code 文档的 Command Line Debugging 部分。我不会详细介绍您可以使用的各种命令选项,但我会包括我发布的内容,以防将来链接失效。
假设:
- 您正在使用 python3
-
pip3 install --user debugpy
已在某个时间点运行
VS Code 启动配置
{
"name": "Attach To DebugPy (9339)","type": "python","request": "attach","connect": {
"port": 9339
}
}
工作流程:
python3 -m debugpy --listen 9339 --wait-for-client ./main.py
- 单击 VS Code 中的调试器“附加”目标
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。