记录在使用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模式进行调试
-
安装插件
-
点击界面中的”Run and Debug“按钮
-
修改配置文件launch.json
默认生成的是 “name”: “Python: Current File”,可以不改,要调试哪个文件时 鼠标要点到 要调试的文件选项卡上就行。 -
设置断点点击执行按钮即可进入debug模式调试程序
-
启动调试
(图中可以看到,[‘-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
- continue(继续)F5
执行至下一个断点 - step over(单步跳过)F10
从断点处开始,执行单步语句(不进入函数内部)。
若当前语句内,包括函数且函数内打了断点,则会跳到函数内部断点处,继续单步执行。 - step in(单步调试)F11
比如说执行至某行的函数,可以进入函数内部看详细代码。 - step out(单步跳出)Shift+F11
与step in相反的操作,跳出函数内部