Joh*_*etz 5 visual-studio-code vscode-debugger
我正在调试 Python 脚本。我的配置看起来像这样:
{
"name": "debug script.py",
"type": "python",
"request": "launch",
"program": "/path/to/script.py",
"console": "integratedTerminal"
}
Run Code Online (Sandbox Code Playgroud)
运行脚本时,我需要在其前面加上可执行文件前缀,aws-access以便自己能够访问 AWS 上的某些资源(否则会出现Permission Denied错误):
aws-access python script.py
Run Code Online (Sandbox Code Playgroud)
如何将此前缀添加到调试命令中?
请注意,使用Code Runner插件执行我的代码时,这很容易做到:
"code-runner.executorMap": {
"python": "aws-access $pythonPath -u $fullFileName"
}
Run Code Online (Sandbox Code Playgroud)
它比平常稍微不太顺利,但具体方法如下:
您需要安装debugpy
要启动调试,您需要一个单独的函数或脚本来等待调试器附加。我的脚本位于一个单独的脚本中,如下所示:
import debugpy
debugpy.listen(5678)
debugpy.wait_for_client()
from foo import bar
bar.run()
Run Code Online (Sandbox Code Playgroud)
bar.run()您要调试的内容在哪里。
然后,您需要launch.json为 VSCode 指定一种配置 - 您可以在您尝试在其下调试的项目目录中自行创建该配置/.vscode/launch.json,或者从 VSCode 中创建一个配置
launch.json应该看起来像:
{
"version": "0.2.0",
"configurations": [
{
"name": "Python: Attach Standard",
"type": "python",
"request": "attach",
"connect": {
"host": "localhost",
"port": 5678
}
}
]
}
Run Code Online (Sandbox Code Playgroud)
一般调试流程是:
aws-vault(反过来,将设置环境变量)python debug_script.py它将响应 VSCode 中以及debugpy.breakpoint()代码中设置的 UI 调试点。更重要的是,它将使用您在其中设置 AWS 环境变量的相同终端会话。
| 归档时间: |
|
| 查看次数: |
1445 次 |
| 最近记录: |