vscode在远程服务器上debug | cabbage

cabbage

菜鸟写给小白的教程

0%

vscode在远程服务器上debug

新人如何debug呢,本地我们都会,那么vscode远程到服务器之后怎么办呢?

print大法好(x

vscode和pycharm,Jupyter Notebook不一样,区别我们以后再说
vscode他的debug需要我们配置一些东西,不难,但是网上没有很系统的教程

下面请看我一点一点讲

两种方式

A.下载包pdb(python debugger简称)

安装ipdb:pip install ipdb

在xxx.py文件中在需要中断的地方插入代码进行debug

个人并不建议使用,感觉很麻烦,而且破坏了程序源代码的完整性,改来改去就晕了。

B.使用vscode本身的debug(推荐)

使用vscode进行一些json文件设置,让我们在远程连接服务器与在本地上一样可以轻松调试

1.生成配置文件

launch.json文件存放在你项目的根目录(workspace)的.vscode文件夹中

我们先在你工作区下找到.vscode文件夹,这里往往会有一个叫launch.json的文件

没有的话点击debug创建一个,教程如下

参考:https://blog.csdn.net/qq_16587307/article/details/106593867

2.编写配置文件

强烈建议去看官方文档https://code.visualstudio.com/docs/editor/debugging

编写配置文件的一些参数和注释,并在后面给出我的配置文件供参考

必须参数

  • “type”:是你用的debugger类型。我们这里用python调试器
  • “request:”调试的模式。launch调试新启动进程,attach调试运行中进程。我们这里用launch
  • “name”:是你配置的名字,随便取。run debug的时候点你配置文件的名字

可选参数(通用)

presentation…

可选参数(大部分调试器支持)

”program:“ 在启动调试器的时候选择要执行的文件地址
“args”:传递给program调试的参数,和命令行输入效果是一样的,搭配argparse使用
”env“环境变量,分布式的时候用哪个卡
”cwd“:工作目录
”port“:当attach一个正在运行的程序时的端口号
“console“:使用哪种控制台,例如integratedTerminal, or externalTerminal

变量替换

**${workspaceFolder}:**给出工作区(workspace)文件夹的根路径

${file}: 在活动编辑器中打开的文件

${env:name}: ’Name‘的环境变量

3.我的配置文件

照抄即可,只需替换一下 “python”: 用你python解释器位置,剩下几乎不用改

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
{
// 我的工作区在~/23w0323 所以配置文件也在这个下面的.vscode
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387

"version": "0.2.0",
"configurations": [

{
"name": "Python: Current File",
"type": "python",
"request": "launch",
"program": "${file}",
"python": "/homeB/liangxiaoyu/anaconda3/envs/p3.9g/bin/python", // 你python解释器位置
"console": "integratedTerminal",
"cwd": "${fileDirname}", // 主要是这个修改为文件所在目录,不写就默认是工作区根目录
"justMyCode": true,//如果需要进入第三方库进行debug,需要设置justMyCode为false
"args": [
"--lr", "0.4",
"--n_epochs", "30",
"--net", "vit",
], //传入的参数,搭配argparse一起用,
}
]
}

4.然后运行就可以愉快debug了

完结撒花,有不懂的欢迎评论交流