VSCode调试Python文件并指定虚拟环境 附调试说明

转载记录学习,方便找到

记录在使用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模式调试程序( 如果不设置断点点了调试之后代码就全部跑起来了,想一步一步的去调试查看某些位置,只需要在代码中打上断点即可! 并且注意:如果使用了open3d,在显示图形的时候,就不能在继续调试了,必须把图片关掉,然后就可以继续调试)

  5. 启动调试(点击顺序是:p.py->最左边那个图表->Py:p.py->输出结果(注意,输出结果,有些代码只会输出如图所是的部分,而有些也会连可执行文件的路径当成一个参数一起输出了,如:['/home/cyz/workspace/test_code/vscode_debug_test/test.py', '-a', 'abc/', '-c', 'dd']))在这里插入图片描述
    (图中可以看到,[‘-a’, ‘abc/’, ‘-c’, ‘dd’] 就是刚才设置的参数,都能正常传入,并打印出来了。)

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

2.调试带参数的python文件

比如对于命令

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

   
   
     
     
     
     
  • 1

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

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

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

如果说用到了 conda 虚拟环境,则需要找到虚拟环境对应的 python 路径,可以使用 whereis python 查看(注意:虚拟环境已经创建,但是执行whereis python找不到自己想要找的虚拟环境路径,那就把这个虚拟环境激活,在执行这条命令就找得到了),比如:在这里插入图片描述
在所配置的 launch.json 文件中的 configurations 列表中加入这一行:

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

   
   
     
     
     
     
  • 1

4. 相对路径出错

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

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

“cwd”: “${fileDirname}”

   
   
     
     
     
     
  • 1

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相反的操作,跳出函数内部

6. 如何查看变量

1.方式1 左边有变量显示窗口(局部变量和全部变量都有)和监视窗口,变量显示窗口可以直接显示运行代码过后的值。监视窗口可以添加变量(右击代码中的变量选择添加即可),去着重关注自己想要关注的变量。

2.方式2
在调试控制台上输入print(x),可以查看某个变量结果(调试控制台的位置一般在vscode自带的终端窗口旁边)

方式2更多的可以去使用查看某个结构体变量下的参数,因为这样直接copy代中的部分,然后直接打印出来就挺方便的,其他能直接看到得到变量值的情况直接使用方式1去查看更好(当然,也可以直接使用方式1去找结构体下的某个变量参数具体数值,但是相对来说会找的比较慢而以)。

你可能感兴趣的:(python)