使用VSCode远程调试AutoDL上的程序

news2024/11/17 11:34:02

在租用的AutoDL服务器上基于终端不便进行代码调试,而使用远程桌面控制部署也相对麻烦。pycharm 则需要专业版才能进行远程开发,如果使用Shell启动的程序也没有办法调试,最终选择利用 VScode 来进行远程代码调试

一、远程租用并启动服务器

这里使用 AutoDL 平台租用服务器,平台提供了多种类型的 GPU 。若想要使用平台在首页根据帮助文档操作即可,文档的教程很详细,也有一些关于VSCode与AutoDL结合的介绍,链接地址如下:AutoDL帮助文档

二、VScode 本地配置

1、SSH 连接配置

在 VScode Extensions:MarketPlace 中搜索 Remote Development 找到对应扩展后下载。同时会自动下载依赖的一些扩展。

下载安装好扩展Remote Development后,开始进行相应的配置,先点击左下角 Remote Development 图标(提示Open a Remote Window),再选择Connect to Host    Remote-SSH 连接。

然后选择 Add New SSH Host, 从AutoDL上复制SSH登陆指令,选择第一个选项,提示输入密码,从AutoDL上复制密码后,开始下载安装VS Code Server:

右下角显示已经连接到了远程云服务器:

点击左上角的文件按钮可以打开云服务器上的目录/root/Streamer-Sales:

Debug 环境配置

在远程主机安装 Python 和 Jupyter 扩展,我的AutoDL云服务中都已经安装了。

安装好扩展后配置 python 解释器:

Ctrl + Shift + P(Windows/Linux)或 Cmd + Shift + P(macOS)打开 VSCode 的 命令面板

在命令提示符>后输入并选择 Python: Select Interpreter

如果你已经安装了 Conda 和虚拟环境,VSCode 可能会自动列出已安装的 Conda 环境。如果你看到 PyCharm 的虚拟环境,直接选择它。我的Conda 环境是 streamer-sales, 选择好后可以看到右下角已经使用Interpret环境了。

三、设置断点调试

1、常规调试:

我们打开server下的web——configs.py文件,在上面打一个断点。点击左边的run and debug按钮,再点击Show all automatic debug configurations.

可以看到我们在这个环境下可以选择的调试器:

2、调试deploy.sh文件

2.1 首先安装Bash Debug扩展:

点击左侧活动栏的 扩展(Extensions) 图标,在搜索框中输入 Bash Debug,安装扩展。常用的是来自 rogalmic 的扩展。

2.2 创建和配置launch.json文件

点击左边的run and debug按钮,再点击creater a launch.json file.  然后点击Add Configuration...按钮,选择Bash-Debug(hardcoded scrip)

修改一下launch.json文件,如下所示:

2.3 开始调试

打开 deploy.sh 文件,找到你希望调试的地方。

点击文件左侧行号旁边的空白处,添加断点。添加后会出现一个红色圆点,表示断点已成功设置。 我们在echo "正在启动 前端 服务..."前面打上断点。

  1. 进入调试面板,确保你已经选择了 Bash-Debug: deploy.sh 作为调试配置。

  2. 点击顶部的 开始调试(Run/Start Debugging) 按钮,或者使用快捷键 F5 启动调试。

VSCode 将启动 Bash 脚本的调试环境,并在你设置的断点处暂停脚本执行。

2.4 调试操作

当调试器在断点处暂停时,你可以进行以下操作:

  • 继续执行: 按 F5 或点击顶部的继续按钮,脚本将继续执行到下一个断点或结束。

  • 单步调试: 按 F10(跳过函数调用)或 F11(进入函数)来逐行执行代码。

  • 查看变量: 在调试面板的 Variables 区域,你可以看到当前的变量及其值。

  • 查看输出: 在 Debug Console 中,你可以查看输出日志和脚本的执行情况。

  • 评估表达式: 在 Debug Console 中,可以输入 Bash 命令,直接在当前调试环境中执行。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2162702.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

一步到位:如何在卡内基梅隆大学计算机科学学院官网下载并安装ACME软件

想要在卡内基梅隆大学计算机科学学院官网下载ACME软件?下面是详细的操作步骤! 1. 访问官网 首先,打开卡内基梅隆大学计算机科学学院的官方网站。 2. 搜索ACME软件 在官网首页的搜索框中输入“acme”,然后按下回车键。 3. 找到下载…

大数据Flink(一百二十四):案例实践——淘宝母婴数据加速查询

文章目录 案例实践——淘宝母婴数据加速查询 一、​​​​​​​创建数据库表并导入数据 二、​​​​​​​​​​​​​​创建session集群 三、​​​​​​​​​​​​​​源表查询 四、​​​​​​​​​​​​​​指标计算 案例实践——淘宝母婴数据加速查询 随着…

【全新课程】正点原子《ESP32基础及项目实战入门》培训课程上线!

正点原子《ESP32基础及项目实战入门》全新培训课程上线啦!正点原子工程师手把手教你学!熟练掌握ESP-IDF开发,突破ESP32入门难题! 一、课程介绍 本课程针对ESP32的入门和基础外设进行系统教学,内容包括环境搭建、编程…

C#和数据库高级:密封类和方法覆盖

文章目录 一、密封类关键字:sealed方法覆盖 面向对象三大特性总结 一、密封类 关键字:sealed 方法覆盖 面向对象三大特性总结

类与对象【中】

1.类的六个默认构造函数 如果一个类中什么成员都没有简称空类 但空类中真的什么都没有吗?并不是,任何类在什么都不写时,编译器会自动生成以下6个默认成员函数。 默认成员函数:用户没有显示实现,编译器会生成的成员函数…

公安局软件管理平台建设方案和必要性,论文-3-———未来之窗行业应用跨平台架构

三、平台功能设计 四、技术架构 1. 前端界面 - 采用简洁、易用的设计风格,适应不同终端设备的访问。 - 基于 HTML5、CSS3 和 JavaScript 构建。 2. 后端服务 - 选择主流的 Web 开发框架,如 未来之窗跨平台架构,VUE。 - 数据库…

IIS HTTPS 网页可能暂时无法连接,或者它已永久性地移动到了新网址 ERR_HTTP2_INADEQUATE_TRANSPORT_SECURITY

问题描述:站点突然无法访问,经排查发现,HTTP协议的网址可以继续访问,HTTPS的网址不可以访问。 问题分析:在Windows更新和滚动之后,由于 HTTP/2,当站点启动了 HTTP/2 连接,会出现一个…

【春秋云境】CVE-2024-23897-Jenkins 2.441之前版本存在任意文件读取漏洞

一、靶场介绍 Jenkins 2.441及更早版本,以及LTS 2.426.2及更早版本没有禁用其CLI命令解析器的一个功能,该功能会将参数中’字符后跟的文件路径替换为该文件的内容,允许未经身份验证的攻击者读取Jenkins控制器文件系统上的任意文件。 二、P…

Linux——HTTPS协议

HTTPS也是一个应用层协议:只是是在 HTTP 协议的基础上引入了一个加密层而已~ 目录 概念准备 1什么是加密 2为什么要加密 3常见的加密方式 对称加密 非对称加密 数据摘要(数据指纹) 一HTTPS加密方式 方案1只使用对称加密 方案2只使用非对称加密 方案3双…

C#|.net core 基础 - 深拷贝的五大类N种实现方式

在实际应用中经常会有这样的需求:获取一个与原对象数据相同但是独立于原对象的精准副本,简单来说就是克隆一份,拷贝一份,复制一份和原对象一样的对象,但是两者各种修改不能互相影响。这一行为也叫深克隆,深…

第6章 常用UI组件库

一.Element Plus组件库 1. 安装Element Plus 什么是Element Plus? Element Plus是基于Vue 3开发的优秀的PC端开源UI组件库,它是Element的升级版,对于习惯使用Element的人员来说,在学习Element Plus时,不用花费太多的…

CC面试准备

半导体基础 半导体是介于导体和绝缘体之间的一种介质,在不同条件下表现出不同的导电性或者不导电特性, 电子半导体器件材料大部分为硅,锗等元素 本征半导体:完全不含杂质的纯净半导体,因为不含杂质,其中…

[笔记]一组电缆、定位相关产品的技术参数

csdn不允许做广告,这里的那家定位供应商的技术看起来是可以的。很有希望。它的原理并不复杂,这家企业在处理业务领域以外的新型产品时,是查过资料的,这就超过了60%的同行。 1.电缆 仅给出现在市面供应的铠装电缆结构&#xff0c…

七层负载均衡和四层负载均衡的区别

文章目录 什么是七层负载均衡?一、定义与工作原理二、优点与缺点三、应用场景四、常见七层负载均衡器五、负载均衡算法 什么是四层负载均衡?一、定义与原理定义:原理: 二、特点与应用场景特点:应用场景: 三…

STM32基础学习笔记-ADC面试基础题6

第六章、ADC 常见问题 1、基本概念:什么是ADC ?作用 ?逐次逼近型 2、传感器本质 ?传感器、电压、ADC数值转化 ? 3、ADC的特征 ? 转化时间、分辨率、精度、量化误差 ? 4、ADC框图组成部分 &…

华为云发布全栈可观测平台AOM,以AI赋能应用运维可观测

9月19日,华为全联接大会2024举办期间,在“AI赋能应用现代化,加速软件生产力跃升”为主题的论坛上,华为云发布全栈可观测平台AOM,以AI赋能应用运维可观测,提升企业应用可用性与稳定性。 该平台发布标志着华…

针对国产化--离线安装Nginx rpm包下载 ARM64(.aarch64.rpm) 版本下载

源地址:https://nginx.org/packages/centos/7/aarch64/RPMS/ 可以选择系统分别进行下载对应的rmp包

公安局软件管理平台建设方案和必要性,论文-2-———未来之窗行业应用跨平台架构

一、平台方略 随着gov信息化建设的不断推进,各类ZW软件的应用需求日益增加。为了提高ZW软件的获取便利性、AQ性和规范性,建设一个专门的GOV软件管理平台具有重要意义。 集中提供各类ZW软件,方便工作人员快速获取和安装,减少因软…

基于DAMODEL——Faster-RCNN 训练与测试指南

Faster-RCNN 训练与测试指南 前言 今天我们要来实现一个经典的目标检测模型:Faster-Rcnn。我们使用DAMODEL云平台来实现,这是个很强大的云端平台,功能众多,你可以投你所好去进行你想做的事情。 1. 环境与工具准备 1.1 远程连接…

经颅磁刺激技术,脑科学研究——精神患者治疗方案

经颅磁刺激(Transcranial Magnetic Stimulation ,TMS)技术是一种利用脉冲磁场作用于中枢神经系统(主要是大脑),改变皮层神经细胞的膜电位,使之产生感应电流,影响脑内代谢和神经电活动…