vscode debug Attach mode

  • Python Debug Mode: 常规debug。针对*.py python脚本启动的场景。

在使用vscode debug时,如果调试python脚本其实很简单。

.vscode/launch.json文件。

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: Current File",
            "type": "python",
            "request": "launch",
            "console": "integratedTerminal",
            "justMyCode": false,

            "program": "main.py",
            "args": ["--seed", "0", "--work-dir", "./work_dir"],
        }
    ]
}

  • Python Attach Mode: 针对shell scrpt或者服务调试python脚本的场景。

比如使用torchpack启动的分布式python任务

需要用到vscode的Attach Mode

1. 配置launch.json

.vscode/launch.json文件

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Attach",
            "type": "python",
            "request": "attach",
            "connect": {
                "host": "localhost",
                "port": 5578
            }
        }
    ]
}

2. 在python代码中加入debugpy代码段

import debugpy
debugpy.listen(5678)
print("Wait for Debugger...")
debugpy.wait_for_client()
print("Debugger Attached")

# main

3. 在vscode代码中加入断点breakpoint

4. 在terminal中跑分布式任务

torchpack dist-run -np 1 python main.py

5. 在vscode中点击debug按钮,可以单步了。

vscode debug Attach mode_第1张图片

 

你可能感兴趣的:(vscode,ide,编辑器)