记录在使用VSCode调试py文件时遇到的一些问题:
首先给出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相反的操作,跳出函数内部
版权归原作者 锵锵锵锵~蒋 所有, 如有侵权,请联系我们删除。