记录在使用VSCode调试py文件时遇到的一些问题:

    • 1.启用Debug模式进行调试
    • 2.调试带参数的python文件
    • 3. 调试时指定服务器虚拟环境
    • 4. 相对路径出错
    • 5 continue(继续)、step over(单步跳过)、step in(单步调试)、step out(单步跳出)的区别

首先给出VScode 官方调试说明:https://code.visualstudio.com/docs/python/debugging#_set-configuration-options

1.启用Debug模式进行调试

  1. 安装插件

  2. 点击界面中的”Run and Debug“按钮

  3. 修改配置文件launch.json
    默认生成的是 “name”: “Python: Current File”,可以不改,要调试哪个文件时 鼠标要点到 要调试的文件选项卡上就行。

  4. 设置断点点击执行按钮即可进入debug模式调试程序

  5. 启动调试
    (图中可以看到,[‘-a’, ‘abc/’, ‘-c’, ‘dd’] 就是刚才设置的参数,都能正常传入,并打印出来了。)

参考自
:看这篇有带参数的例子,带图带代码很清楚

2.调试带参数的python文件

比如对于命令

python train.py train --env='fasterrcnn' --plot-every=100

修改配置文件lanuch.json,添加args参数。形式类似于"args": ["--key1", "value1","--key2", "value2"]

3. 调试时指定服务器虚拟环境

需要自定义指定一下用到的 python 版本,需要添加 “pythonPath” 选项。

如果说用到了 conda 虚拟环境,则需要找到虚拟环境对应的 python 路径,可以使用 whereis python 查看,比如:
在所配置的 launch.json 文件中的 configurations 列表中加入这一行:

"pythonPath": "/home/jiangwenjuan/cronkgqa/cronkgqa_env/bin/python3.8",

4. 相对路径出错

参考:[Errno 2] No such file or directory. 解决VSCode相对路径出错问题

在所配置的 launch.json 文件中的 configurations 列表中加入这一行:

“cwd”: “${fileDirname}”

5 continue(继续)、step over(单步跳过)、step in(单步调试)、step out(单步跳出)的区别

参考自:Debug

  1. continue(继续)F5
    执行至下一个断点
  2. step over(单步跳过)F10
    从断点处开始,执行单步语句(不进入函数内部)。
    若当前语句内,包括函数且函数内打了断点,则会跳到函数内部断点处,继续单步执行。
  3. step in(单步调试)F11
    比如说执行至某行的函数,可以进入函数内部看详细代码。
  4. step out(单步跳出)Shift+F11
    与step in相反的操作,跳出函数内部