CN118012759A - 一种可视化远程调试方法、环境搭建方法、装置及设备 - Google Patents

一种可视化远程调试方法、环境搭建方法、装置及设备 Download PDF

Info

Publication number
CN118012759A
CN118012759A CN202410162294.1A CN202410162294A CN118012759A CN 118012759 A CN118012759 A CN 118012759A CN 202410162294 A CN202410162294 A CN 202410162294A CN 118012759 A CN118012759 A CN 118012759A
Authority
CN
China
Prior art keywords
vscode
debugging
gdb
environment
target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202410162294.1A
Other languages
English (en)
Inventor
赵建涛
乔国鹏
王伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Hollysys Automation Co Ltd
Original Assignee
Hangzhou Hollysys Automation Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Hollysys Automation Co Ltd filed Critical Hangzhou Hollysys Automation Co Ltd
Priority to CN202410162294.1A priority Critical patent/CN118012759A/zh
Publication of CN118012759A publication Critical patent/CN118012759A/zh
Pending legal-status Critical Current

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

本申请公开了一种可视化远程调试方法、环境搭建方法、装置及设备,涉及嵌入式技术领域,包括:配置WSL环境并在WSL环境中安装Ubuntu系统,以完成本地Linux环境的搭建;在搭建好的Linux环境上安装目标程序及目标交叉编译工具链,安装VSCode编辑器以及VSCode编辑器对应的目标插件;利用目标插件将VSCode编辑器与Ubuntu系统进行连接,若连接成功,则在Ubuntu系统上安装进行远程调试的VSCode服务器,以便基于VSCode服务器控制预先安装的GDB客户端以及安装在目标机Linux系统上的GDB服务端对待调试可执行程序进行可视化远程调试。本申请能够方便快捷地调试嵌入式设备。

Description

一种可视化远程调试方法、环境搭建方法、装置及设备
技术领域
本发明涉及嵌入式技术领域,特别涉及一种可视化远程调试方法、环境搭建方法、装置及设备。
背景技术
随着嵌入式系统技术的不断提高,越来越多的嵌入式设备采用Linux作为其应用软件的运行环境。然而,由于嵌入式设备本身性能和容量的限制,所使用的Linux操作系统需要经过裁剪适配,仅保留最小功能和基本组件。这导致在嵌入式设备中无法安装高级调试工具,只能通过添加打印信息或直接写入日志文件来查看调试信息。这种方式不够灵活,需要开发人员重复执行添加代码、编译、烧录、执行等动作。目前,一种较好的调试手段是通过GDB(GNU symbolic debugger,Linux下常用的程序调试工具)工具调试基于Linux的软件代码。然而,这种方式对于新手来说不太友好,需要手动输入调试命令来实现断点、跳转、变量值查看等命令。因此,如何解决基于Linux的嵌入式设备软件调试时的痛点,让开发人员能够在Linux系统上进行软件开发时像使用IDE一样调试嵌入式设备是目前所面临的问题。
发明内容
有鉴于此,本发明的目的在于提供一种可视化远程调试方法、环境搭建方法、装置及设备,能够解决了基于Linux的嵌入式设备软件调试时的痛点,让开发人员能够在Linux系统上进行软件开发时像使用IDE(Integrated Development Environment,集成开发环境)一样调试嵌入式设备。开发人员能专注于与应用代码本身,而不必受开发工具的束缚。其具体方案如下:
第一方面,本申请公开了一种嵌入式设备的可视化远程调试环境搭建方法,包括:
配置WSL环境并在所述WSL环境中安装Ubuntu系统,以完成本地Linux环境的搭建;
在搭建好的所述本地Linux环境上安装目标程序以及用于进行代码编译的目标交叉编译工具链,并安装VSCode编辑器以及所述VSCode编辑器对应的目标插件;
利用所述目标插件将所述VSCode编辑器与所述WSL环境上的Ubuntu系统进行连接,若连接成功,则在所述Ubuntu系统上安装进行远程调试的VSCode服务器,以便基于所述VSCode服务器控制预先安装在所述Ubuntu系统上的GDB客户端以及安装在目标机Linux系统上的作为调试器的GDB服务端对待调试可执行程序进行可视化远程调试。
所述配置WSL环境并在所述WSL环境中安装Ubuntu系统,以完成本地Linux环境的搭建之后,还包括:
在本地操作系统的终端输入第一目标命令查看所述WSL环境的状态,以便于验证所述WSL环境是否配置成功;
在所述本地操作系统的终端输入第二目标命令查看所述Ubuntu系统的运行状态,以便于确定所述Ubuntu系统是否安装成功。
在搭建好的所述本地Linux环境上安装用于进行代码编译的目标交叉编译工具链,包括:
将用于进行代码编译的所述目标交叉编译工具链复制到搭建好的所述Linux环境对应的所述Ubuntu系统的目标目录中,并在所述Ubuntu系统中配置所述目标交叉编译工具链的全局路径,以完成所述目标交叉编译工具链的安装。
所述利用所述目标插件将所述VSCode编辑器与所述WSL环境上的Ubuntu系统进行连接之后,还包括:
在所述VSCode编辑器中编写测试代码;
利用所述VSCode编辑器远程连接所述WSL环境上的Ubuntu系统,并利用所述目标交叉编译工具链对所述测试代码进行编译,以便于将相应的编译后的可执行程序文件复制到所述目标机上;
获取所述目标机执行所述可执行程序文件后得到的执行结果;
基于所述执行结果确定所述Ubuntu系统是否搭建成功。
所述基于所述执行结果确定所述Ubuntu系统是否搭建成功,包括:
若所述执行结果满足预设条件,则判定所述Ubuntu系统搭建成功;
若所述执行结果不满足所述预设条件,则判定所述Ubuntu系统搭建失败。
所述在所述Ubuntu系统上安装进行远程调试的VSCode服务器之后,还包括:
获取GDB源码,基于所述GDB源码在所述Ubuntu系统中编译生成作为调试器的GDB服务端的目标可执行程序,将所述目标可执行程序复制到所述目标机,并配置所述目标机Linux系统中的传输功能以及连接功能,以完成对所述目标机的配置。
第二方面,本申请公开了一种嵌入式设备的可视化远程调试方法应用于WSL主机,包括:
在获取到VSCode编辑器发送的调试请求后调用GDB客户端与目标机作为调试器的GDB服务端进行通信,以便所述GDB服务端启动待调试可执行程序,并向WSL主机发送相应的第一应答信息;
获取所述第一应答信息,根据所述第一应答信息对所述待调试可执行程序执行符号解析以及动态库解析与加载的操作,并在操作完成后向所述VSCode编辑器发送第二应答信息,以便开发人员基于所述VSCode编辑器将调试指令发送至所述WSL主机;
基于所述GDB客户端对所述调试指令进行解析,并将相应的解析后调试信息发送至所述GDB服务端,以便于所述GDB服务端对所述解析后调试信息进行处理,并将相应的处理结果基于所述WSL主机发送至所述VSCode编辑器;
接收所述VSCode编辑器发送的断开调试请求,并将所述断开调试请求转发至所述GDB服务端,以便所述GDB服务端结束对所述待调试可执行程序的调试,并在结束后发送相应的第三应答信息至所述GDB客户端;
通过所述GDB客户端基于所述第三应答信息断开与所述GDB服务端的通信,并向所述VSCode编辑器发送相应的第四应答信息,以便所述VSCode编辑器基于所述第四应答信息结束调试处理。
第三方面,本申请公开了一种嵌入式设备的可视化远程调试环境搭建装置,包括:
环境搭建模块,用于配置WSL环境并在所述WSL环境中安装Ubuntu系统,以完成本地Linux环境的搭建;
第一安装模块,用于在搭建好的所述本地Linux环境上安装目标程序以及用于进行代码编译的目标交叉编译工具链,并安装VSCode编辑器以及所述VSCode编辑器对应的目标插件;
连接模块,用于利用所述目标插件将所述VSCode编辑器与所述WSL环境上的Ubuntu系统进行连接;
第一安装模块,用于若连接成功,则在所述Ubuntu系统上安装进行远程调试的VSCode服务器,以便基于所述VSCode服务器控制预先安装在所述Ubuntu系统上的GDB客户端以及安装在目标机Linux系统上的作为调试器的GDB服务端对待调试可执行程序进行可视化远程调试。
第四方面,本申请公开了一种嵌入式设备的可视化远程调试装置,应用于WSL主机,包括:
通信模块,用于在获取到VSCode编辑器发送的调试请求后调用GDB客户端与目标机作为调试器的GDB服务端进行通信,以便所述GDB服务端启动待调试可执行程序,并向WSL主机发送相应的第一应答信息;
第二应答信息发送模块,用于获取所述第一应答信息,根据所述第一应答信息对所述待调试可执行程序执行符号解析以及动态库解析与加载的操作,并在操作完成后向所述VSCode编辑器发送第二应答信息,以便开发人员基于所述VSCode编辑器将调试指令发送至所述WSL主机;
处理结果发送模块,用于基于所述GDB客户端对所述调试指令进行解析,并将相应的解析后调试信息发送至所述GDB服务端,以便于所述GDB服务端对所述解析后调试信息进行处理,并将相应的处理结果基于所述WSL主机发送至所述VSCode编辑器;
第三应答信息发送模块,用于接收所述VSCode编辑器发送的断开调试请求,并将所述断开调试请求转发至所述GDB服务端,以便所述GDB服务端结束对所述待调试可执行程序的调试,并在结束后发送相应的第三应答信息至所述GDB客户端;
第四应答信息发送模块,用于通过所述GDB客户端基于所述第三应答信息断开与所述GDB服务端的通信,并向所述VSCode编辑器发送相应的第四应答信息,以便所述VSCode编辑器基于所述第四应答信息结束调试处理。
第五方面,本申请公开了一种电子设备,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序以实现前述的方法。
第六方面,本申请公开了一种计算机可读存储介质,用于保存计算机程序,所述计算机程序被处理器执行时实现前述的方法。
本申请在搭建嵌入式设备的可视化远程调试环境时,首先配置WSL环境并在所述WSL环境中安装Ubuntu系统,以完成本地Linux环境的搭建;之后在搭建好的所述本地Linux环境上安装目标程序以及用于进行代码编译的目标交叉编译工具链,并安装VSCode编辑器以及所述VSCode编辑器对应的目标插件;最后利用所述目标插件将所述VSCode编辑器与所述WSL环境上的Ubuntu系统进行连接,若连接成功,则在所述Ubuntu系统上安装进行远程调试的VSCode服务器,以便基于所述VSCode服务器控制预先安装在所述Ubuntu系统上的GDB客户端以及安装在目标机Linux系统上的作为调试器的GDB服务端对待调试可执行程序进行可视化远程调试。这样一来,本申请能够兼容所有基于Linux的嵌入式设备平台,包括裁剪过的Linux系统以及性能差、容量较小的嵌入式设备,并且具有跨平台通用性,支持Windows系统、Linux系统以及能构建Linux环境的其它操作系统。解决了传统GDB调试时不够灵活的问题,同时改善了开发人员在调试软件时依赖打印调试信息解决问题的局限性,从而提高了开发效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的一种嵌入式设备的可视化远程调试环境搭建方法流程图;
图2为本申请公开的一种嵌入式设备的可视化远程调试方法流程图;
图3为本申请公开的一种远程调试基本数据流向示意图;
图4为本申请公开的一种嵌入式设备的可视化远程调试环境搭建装置结构示意图;
图5为本申请公开的一种嵌入式设备的可视化远程调试装置结构示意图;
图6为本申请公开的一种电子设备结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
当前存在一种基于VSCode(Visual Studio Code,一款由微软开发且跨平台的免费代码编辑器)的可视化远程调试Linux的方案,其基本原理是:当主机系统上的VSCode与目标Linux系统进行远程连接时,VSCode会根据目标系统的发行版本和芯片类型自动下载并安装一个vscode-server可执行程序和相关的调试所需程序。这个过程相当于在目标Linux系统上安装了一个VSCode服务器和GDB客户端。然后,主机系统上的VSCode客户端通过vscode-server与目标Linux系统进行通信,并发送调试指令控制目标Linux系统上的GDB客户端来调试GDBServer发起的目标程序,这个过程相当于将目标Linux系统当作虚拟主机与GDBServer通信,以达到可视化调试软件的目的。但是有很大的局限性,主要表现在以下几个方面:
1.当前这种方案要在Linux系统安装调试所需的基础程序,因此对目标设备的容量、性能以及目标设备Linux内核基础环境、根文件系统完整性和版本要求比较高,这种方式针对流行的完整的Linux发行版(Debian、CentOS与Ubuntu等)比较适合,不适合嵌入式Linux的可视化远程调试;
2.当前方案的工具不支持一键编译、一键下载固件、一键进入调试,即未实现可视化IDE的基本功能。
简而言之就是当前方案兼容性不好,不适合裁剪过的系统或容量较小的嵌入式设备,也没有实现IDE可视化图形界面的基本功能。为了解决上述技术问题,本申请公开了一种可视化远程调试方法、环境搭建方法,能够解决了基于Linux的嵌入式设备软件调试时的痛点,让开发人员能够在Linux系统上进行软件开发时像使用IDE一样调试嵌入式设备。开发人员能专注于与应用代码本身,而不必受开发工具的束缚。
参见图1所示,本发明实施例公开了一种嵌入式设备的可视化远程调试环境搭建方法,包括:
步骤S11、配置WSL环境并在所述WSL环境中安装Ubuntu系统,以完成本地Linux环境的搭建。
本实施例中,首先搭建Windows上Linux环境,在Windows程序和功能中启用Linux的Windows子系统和虚拟机平台,重启电脑,即可开启WSL(Windows Subsystem for Linux,一个在Windows 10\11上能够运行原生Linux二进制可执行文件(ELF格式)的兼容层)环境;安装完成后,在Windows终端输入wsl–status命令查看wsl状态,以验证wsl是否开启成功。之后在所述WSL环境中安装Ubuntu(一个以桌面应用为主的Linux操作系统)系统,并且需要在安装完成后在Windows终端中输入wsl-l-v查看Ubuntu的运行状态,以演出Ubuntu是否安装成功。
步骤S12、在搭建好的所述本地Linux环境上安装目标程序以及用于进行代码编译的目标交叉编译工具链,并安装VSCode编辑器以及所述VSCode编辑器对应的目标插件。
本实施例中,将用于进行代码编译的所述目标交叉编译工具链复制到搭建好的所述Linux环境对应的所述Ubuntu系统的目标目录中,并在所述Ubuntu系统中配置所述目标交叉编译工具链的全局路径,以完成所述目标交叉编译工具链的安装。在一种具体的实施例中,使用目标机芯片厂商提供的gcc编译工具链,如arm-linux-gcc,将其复制到Ubuntu系统中的opt目录中;在Ubuntu中配置arm-linux-gcc的全局路径;最后在Ubuntu终端中输入arm-linux-gcc-v查看状态,以验证是否安装成功。需要指出的是,需要安装GDB客户端工具,首先使用目标机芯片厂商提供的gdb客户端工具,如arm-linux-gdb,或自行下载gdb源码进行编译,再将编译出的gdb工具复制到Ubuntu系统中的opt目录中;在Ubuntu中配置arm-linux-gdb的全局路径;最后在Ubuntu终端中输入arm-linux-gdb-v查看状态,以验证是否安装成功。并安装make工具,在Ubuntu系统终端中执行命令sudo apt-get installmake,安装make工具;安装完成后,在Ubuntu终端中输入make–v查看状态,以验证是否安装成功。
之后,需要搭建VSCode环境,在一种具体的实施例中,首先从VSCode官网免费下载Windows版VSCode软件并安装,从VSCode插件安装界面搜索以下插件并安装:RemoteDevelopment、WSL、C/C++、SFTP、Makefile Tools、CMake、GDB Debug以及Chinese(Simplified)。使用VSCode远程连接WSL中的Ubuntu系统,连接成功后,在WSL中远程安装以上插件。
步骤S13、利用所述目标插件将所述VSCode编辑器与所述WSL环境上的Ubuntu系统进行连接,若连接成功,则在所述Ubuntu系统上安装进行远程调试的VSCode服务器,以便基于所述VSCode服务器控制预先安装在所述Ubuntu系统上的GDB客户端以及安装在目标机Linux系统上的作为调试器的GDB服务端对待调试可执行程序进行可视化远程调试。
本实施例中,VSCode通过插件连接WSL上的Ubuntu系统,并在Ubuntu上安装远程调试需要的vscode-server程序,再通过vscode-server程序控制已安装在Ubuntu上的GDB客户端与安装在ARM Linux系统上的GDBServer进行远程调试,GDB客户端与GDBServer之间通过RSP(GDB Remote Serial Protocol,GDB远程通信协议)协议进行连接,RSP协议支持Serial(串口)和TCP(Transmission Control Protocol,传输控制协议)两种通讯方式,但VSCode只支持TCP协议通讯,所以本申请所涉及的主机与目标机通讯都采用TCP协议。
利用所述目标插件将所述VSCode编辑器与所述WSL环境上的Ubuntu系统进行连接之后,在所述VSCode编辑器中编写测试代码;利用所述VSCode编辑器远程连接所述WSL环境上的Ubuntu系统,并利用所述目标交叉编译工具链对所述测试代码进行编译,以便于将相应的编译后的可执行程序文件复制到所述目标机上;获取所述目标机执行所述可执行程序文件后得到的执行结果;基于所述执行结果确定所述Ubuntu系统是否搭建成功。具体来说,在VSCode中编写C语言测试代码;使用VSCode远程连接WSL中的Ubuntu;在VSCode中打开一个终端进行arm-linux-gcc编译测试代码;然后将编译生成的可执行程序文件复制到目标机上;在目标机上执行可执行程序;最后查看测试代码执行结果是否正确,若正确,则环境配置成功,否则,说明环境配置错误,再次检查上面的配置步骤是否都已成功完成。在所述Ubuntu系统上安装进行远程调试的VSCode服务器之后,获取GDB源码,基于所述GDB源码在所述Ubuntu系统中编译生成作为调试器的GDB服务端的目标可执行程序,将所述目标可执行程序复制到所述目标机,并配置所述目标机Linux系统中的传输功能以及连接功能,以完成对所述目标机的配置。在一种具体的实施例中,对于VSCode配置具体步骤如下:
(1)打开VScode;
(2)打开运行和调试菜单,点击创建launch.json文件链接;
(3)创建launch.json文件并打开后,点击右下方的添加配置按钮;
(4)在弹出的配置菜单中选择C/C++:(gdb)启动选项;
(5)选择配置后会生成默认的gdb启动配置内容;
(6)修改以下默认的配置字段:
program:修改成需要调试的可执行程序文件完整路径及文件名;
miDebuggerServerAddress:修改成需要调试的目标机上的gdbserver指定的IP地址和端口号;
miDebuggerPath:修改成wsl中Ubuntu系统主机上的gdb client位置及名称;
(7)保存launch.json文件。
对于目标机的配置具体来说,首先从GDB官网下载gdb源码,在Ubuntu系统中编译生成gdbserver可执行程序,并将其复制到目标机;配置目标机Linux系统中的FTP(FileTransfer Protocol,文件传输协议)传输功能;配置目标机Linux系统中的SSH连接功能,并将其配置为免密登录。
需要指出的是,在实现了基于所述VSCode服务器控制预先安装在所述Ubuntu系统上的GDB客户端以及安装在目标机Linux系统上的作为调试器的GDB服务端对待调试可执行程序进行可视化远程调试之后,本申请还实现了VSCode代码一键编译、一键下载可执行文件、一键启动远程调试功能。这几个功能使基于Linux的可视化调试工具像其它IDE一样方便易用。一键编译功能是将在VSCode中编写好的代码在WSL上的Linux进行编译,编译出来的可执行程序是可以直接在远程目标机上运行的,如果编译报错,可在VSCode输出界面查看错误信息,修改代码后再进行编译。一键下载可执行文件功能是将编译好的可执行程序下载到远程调试目标机,无需通过SD(Secure Digital Memory Card,安全数字卡)卡或其它专用工具进行程序拷贝和下载。一键启动远程调试功能,类似于一般IDE软件的运行,可以将编译下载的可执行程序启动运行。在具体的实施例中,VSCode一键编译、一键下载可执行文件、一键启动远程调试功能实现过程如下:
1、一键编译:
创建VSCode任务1,调用Ubuntu系统中的make工具及arm-linux-gcc工具链进行脚本编写,实现一键对VSCode中编写的C语言源码进行编译,生成目标机可执行的程序文件。
2、一键下载:
创建VSCode任务2,编写FTP上传文件的脚本,脚本功能是在调用时可以将指定目录的文件上传到目标机指定的路径中。
3、一键启动远程调试脚本:
(1)gdbserver的启动:创建VSCode任务3,编写SSH(Secure Shell,安全外壳协议)远程免密登录脚本和远程传输指令到目标机的脚本,调用脚本远程发送指令给目标机,使用gdbserver将待调试的可执行程序激活并处于监听状态。
(2)gdb的启动:在VSCode进行程序调试时,VSCode根据已配置的launch.json描述信息在Ubuntu中调用gdb client激活已编译出来的可执行程序,并与远程gdbserver建立通信连接服务。
这三个调试功能可以通过配置实现成一步操作,即一键编译、下载和启动远程调试,启动后,运行光标会停留在程序的main函数,这样就实现了像使用IDE软件一样使用单步、断点、变量监控等调试手段进行可视化图形界面调试。另外,本申请还实现了将远程目标机的打印信息直接输出到VSCode,并能通过VSCode对远程目标机进行命令行操作、下载和上传文件等功能。在断点调试时还可以添加条件断点、命中次数断点和日志消息等,进一步提高了调试Linux设备程序的效率,其中日志消息完全替代了以往通过添加打印信息调试代码的方式,通过添加日志消息,可以直接在VSCode输出界面输出日志信息,不用修改代码编译下载等操作,在调试的过程中随时添加,不会打断当前的调试进程。这样一来,只需要在VSCode一次性配置好后,以后无需再配置,只需更改交叉编译工具链的路径和远程Linux系统的IP地址即可。同时在Windows桌面系统和Ubuntu桌面系统都可以搭建和实现可视化的图形界面调试,不受操作系统的限制。
由上可知,本申请在搭建嵌入式设备的可视化远程调试环境时,首先配置WSL环境并在所述WSL环境中安装Ubuntu系统,以完成本地Linux环境的搭建;之后在搭建好的所述本地Linux环境上安装目标程序以及用于进行代码编译的目标交叉编译工具链,并安装VSCode编辑器以及所述VSCode编辑器对应的目标插件;最后利用所述目标插件将所述VSCode编辑器与所述WSL环境上的Ubuntu系统进行连接,若连接成功,则在所述Ubuntu系统上安装进行远程调试的VSCode服务器,以便基于所述VSCode服务器控制预先安装在所述Ubuntu系统上的GDB客户端以及安装在目标机Linux系统上的作为调试器的GDB服务端对待调试可执行程序进行可视化远程调试。这样一来,本申请能够兼容所有基于Linux的嵌入式设备平台,包括裁剪过的Linux系统以及性能差、容量较小的嵌入式设备,并且具有跨平台通用性,支持Windows系统、Linux系统以及能构建Linux环境的其它操作系统。解决了传统GDB调试时不够灵活的问题,同时改善了开发人员在调试软件时依赖打印调试信息解决问题的局限性,从而提高了开发效率。
基于上述实施例可知,本申请搭建了嵌入式设备的可视化远程调试环境。接下来,将针对在搭建的环境下嵌入式设备的可视化远程调试的过程进行具体的描述。参见图2所示,本发明实施例公开了一种嵌入式设备的可视化远程调试方法,应用于WSL主机,包括:
步骤S21、在获取到VSCode编辑器发送的调试请求后调用GDB客户端与目标机作为调试器的GDB服务端进行通信,以便所述GDB服务端启动待调试可执行程序,并向WSL主机发送相应的第一应答信息。
本实施例中,在上述实施例中,本申请对嵌入式设备的可视化远程调试环境进行了搭建,在搭建成功后明确了本申请主要基于VSCode和WSL进行可视化图形界面的Linux程序调试,主要是通过VSCode和GDB+GDBServer实现类似IDE图形化界面的调试工具,功能包括代码编辑、固件编译、下载固件、断点调试、变量监视、堆栈调用、消息记录和上传文件等常用调试功能。VSCode是微软开源的一个代码编辑工具,需要安装相关插件,搭配WSL上运行的GDB工具进行远程调试,GDB客户端需要安装在主机端,即Windows上的Linux子系统上,GDBServer需要安装在目标机环境。在这种环境下远程调试系统基本数据流向如图3所示,首先VSCode首先发起远程调试请求,WSL主机收到调试请求命令后,调用GDB客户端与目标机GDBServer进行通信,以便所述GDB服务端启动待调试可执行程序,并向WSL主机发送相应的第一应答信息。
步骤S22、获取所述第一应答信息,根据所述第一应答信息对所述待调试可执行程序执行符号解析以及动态库解析与加载的操作,并在操作完成后向所述VSCode编辑器发送第二应答信息,以便开发人员基于所述VSCode编辑器将调试指令发送至所述WSL主机。
本实施例中,GDB客户端收到远程目标机正确应答信息后,进行待调试可执行程序的符号解析、动态库解析、加载等操作,处理完成后应答VSCode;VSCode连接成功后,开发人员开始对代码进行调试,包括断点调试、变量监视、单步执行等操作,VSCode将这些命令发给WSL主机中的GDB客户端。
步骤S23、基于所述GDB客户端对所述调试指令进行解析,并将相应的解析后调试信息发送至所述GDB服务端,以便于所述GDB服务端对所述解析后调试信息进行处理,并将相应的处理结果基于所述WSL主机发送至所述VSCode编辑器。
本实施例中,GDB对命令进行解析处理,并将调试信息组包发送给远程目标机GDBServer,GDBServer对调试指令解析、执行并返回处理结果,GDB客户端收到应答信息后再反馈给VSCode,如此循环传输调试信息,就达到了远程可视化调试的目的。
步骤S24、接收所述VSCode编辑器发送的断开调试请求,并将所述断开调试请求转发至所述GDB服务端,以便所述GDB服务端结束对所述待调试可执行程序的调试,并在结束后发送相应的第三应答信息至所述GDB客户端。
本实施例中,结束调试时,VSCode发起断开调试请求,WSL主机收到请求后,将断开调试的指令通过GDB客户端发送至目标GDBServer。
步骤S25、通过所述GDB客户端基于所述第三应答信息断开与所述GDB服务端的通信,并向所述VSCode编辑器发送相应的第四应答信息,以便所述VSCode编辑器基于所述第四应答信息结束调试处理。
本实施例中,GDBServer结束目标调试程序,处理完成后应答,GDB客户端收到正确应答后,断开与GDBServer的连接,并应答给VSCode,这样就完成了整个调试过程。
由上可知,本申请在进行嵌入式设备的可视化远程调试时,首先在获取到VSCode编辑器发送的调试请求后调用GDB客户端与目标机作为调试器的GDB服务端进行通信,以便所述GDB服务端启动待调试可执行程序,并向WSL主机发送相应的第一应答信息;之后获取所述第一应答信息,根据所述第一应答信息对所述待调试可执行程序执行符号解析以及动态库解析与加载的操作,并在操作完成后向所述VSCode编辑器发送第二应答信息,以便开发人员基于所述VSCode编辑器将调试指令发送至所述WSL主机;基于所述GDB客户端对所述调试指令进行解析,并将相应的解析后调试信息发送至所述GDB服务端,以便于所述GDB服务端对所述解析后调试信息进行处理,并将相应的处理结果基于所述WSL主机发送至所述VSCode编辑器;再接收所述VSCode编辑器发送的断开调试请求,并将所述断开调试请求转发至所述GDB服务端,以便所述GDB服务端结束对所述待调试可执行程序的调试,并在结束后发送相应的第三应答信息至所述GDB客户端;最后通过所述GDB客户端基于所述第三应答信息断开与所述GDB服务端的通信,并向所述VSCode编辑器发送相应的第四应答信息,以便所述VSCode编辑器基于所述第四应答信息结束调试处理。这样一来,本申请解决了传统GDB调试时不够灵活的问题,同时改善了开发人员在调试软件时依赖打印调试信息解决问题的局限性,从而提高了开发效率。
参见图4所示,本发明实施例公开了一种嵌入式设备的可视化远程调试环境搭建装置,包括:
环境搭建模块11,用于配置WSL环境并在所述WSL环境中安装Ubuntu系统,以完成本地Linux环境的搭建;
第一安装模块12,用于在搭建好的所述本地Linux环境上安装目标程序以及用于进行代码编译的目标交叉编译工具链,并安装VSCode编辑器以及所述VSCode编辑器对应的目标插件;
连接模块13,用于利用所述目标插件将所述VSCode编辑器与所述WSL环境上的Ubuntu系统进行连接;
第一安装模块14,用于若连接成功,则在所述Ubuntu系统上安装进行远程调试的VSCode服务器,以便基于所述VSCode服务器控制预先安装在所述Ubuntu系统上的GDB客户端以及安装在目标机Linux系统上的作为调试器的GDB服务端对待调试可执行程序进行可视化远程调试。
由上可知,本申请在搭建嵌入式设备的可视化远程调试环境时,首先配置WSL环境并在所述WSL环境中安装Ubuntu系统,以完成本地Linux环境的搭建;之后在搭建好的所述本地Linux环境上安装目标程序以及用于进行代码编译的目标交叉编译工具链,并安装VSCode编辑器以及所述VSCode编辑器对应的目标插件;最后利用所述目标插件将所述VSCode编辑器与所述WSL环境上的Ubuntu系统进行连接,若连接成功,则在所述Ubuntu系统上安装进行远程调试的VSCode服务器,以便基于所述VSCode服务器控制预先安装在所述Ubuntu系统上的GDB客户端以及安装在目标机Linux系统上的作为调试器的GDB服务端对待调试可执行程序进行可视化远程调试。这样一来,本申请能够兼容所有基于Linux的嵌入式设备平台,包括裁剪过的Linux系统以及性能差、容量较小的嵌入式设备,并且具有跨平台通用性,支持Windows系统、Linux系统以及能构建Linux环境的其它操作系统。解决了传统GDB调试时不够灵活的问题,同时改善了开发人员在调试软件时依赖打印调试信息解决问题的局限性,从而提高了开发效率。
在一些具体的实施例中,所述装置,还可以用于在本地操作系统的终端输入第一目标命令查看所述WSL环境的状态,以便于验证所述WSL环境是否配置成功;在所述本地操作系统的终端输入第二目标命令查看所述Ubuntu系统的运行状态,以便于确定所述Ubuntu系统是否安装成功。
在一些具体的实施例中,所述第一安装模块12,具体可以包括:
目标交叉编译工具链安装单元,用于将用于进行代码编译的所述目标交叉编译工具链复制到搭建好的所述Linux环境对应的所述Ubuntu系统的目标目录中,并在所述Ubuntu系统中配置所述目标交叉编译工具链的全局路径,以完成所述目标交叉编译工具链的安装。
在一些具体的实施例中,所述装置,还可以用于在所述VSCode编辑器中编写测试代码;利用所述VSCode编辑器远程连接所述WSL环境上的Ubuntu系统,并利用所述目标交叉编译工具链对所述测试代码进行编译,以便于将相应的编译后的可执行程序文件复制到所述目标机上;获取所述目标机执行所述可执行程序文件后得到的执行结果;基于所述执行结果确定所述Ubuntu系统是否搭建成功。
在一些具体的实施例中,所述装置,还可以用于若所述执行结果满足预设条件,则判定所述Ubuntu系统搭建成功;若所述执行结果不满足所述预设条件,则判定所述Ubuntu系统搭建失败。
在一些具体的实施例中,所述装置,还可以用于获取GDB源码,基于所述GDB源码在所述Ubuntu系统中编译生成作为调试器的GDB服务端的目标可执行程序,将所述目标可执行程序复制到所述目标机,并配置所述目标机Linux系统中的传输功能以及连接功能,以完成对所述目标机的配置。
参见图5所示,本发明实施例公开了一种嵌入式设备的可视化远程调试装置,应用于WSL主机,包括:
通信模块21,用于在获取到VSCode编辑器发送的调试请求后调用GDB客户端与目标机作为调试器的GDB服务端进行通信,以便所述GDB服务端启动待调试可执行程序,并向WSL主机发送相应的第一应答信息;
第二应答信息发送模块22,用于获取所述第一应答信息,根据所述第一应答信息对所述待调试可执行程序执行符号解析以及动态库解析与加载的操作,并在操作完成后向所述VSCode编辑器发送第二应答信息,以便开发人员基于所述VSCode编辑器将调试指令发送至所述WSL主机;
处理结果发送模块23,用于基于所述GDB客户端对所述调试指令进行解析,并将相应的解析后调试信息发送至所述GDB服务端,以便于所述GDB服务端对所述解析后调试信息进行处理,并将相应的处理结果基于所述WSL主机发送至所述VSCode编辑器;
第三应答信息发送模块24,用于接收所述VSCode编辑器发送的断开调试请求,并将所述断开调试请求转发至所述GDB服务端,以便所述GDB服务端结束对所述待调试可执行程序的调试,并在结束后发送相应的第三应答信息至所述GDB客户端;
第四应答信息发送模块25,用于通过所述GDB客户端基于所述第三应答信息断开与所述GDB服务端的通信,并向所述VSCode编辑器发送相应的第四应答信息,以便所述VSCode编辑器基于所述第四应答信息结束调试处理。
由上可知,本申请在进行嵌入式设备的可视化远程调试时,首先在获取到VSCode编辑器发送的调试请求后调用GDB客户端与目标机作为调试器的GDB服务端进行通信,以便所述GDB服务端启动待调试可执行程序,并向WSL主机发送相应的第一应答信息;之后获取所述第一应答信息,根据所述第一应答信息对所述待调试可执行程序执行符号解析以及动态库解析与加载的操作,并在操作完成后向所述VSCode编辑器发送第二应答信息,以便开发人员基于所述VSCode编辑器将调试指令发送至所述WSL主机;基于所述GDB客户端对所述调试指令进行解析,并将相应的解析后调试信息发送至所述GDB服务端,以便于所述GDB服务端对所述解析后调试信息进行处理,并将相应的处理结果基于所述WSL主机发送至所述VSCode编辑器;再接收所述VSCode编辑器发送的断开调试请求,并将所述断开调试请求转发至所述GDB服务端,以便所述GDB服务端结束对所述待调试可执行程序的调试,并在结束后发送相应的第三应答信息至所述GDB客户端;最后通过所述GDB客户端基于所述第三应答信息断开与所述GDB服务端的通信,并向所述VSCode编辑器发送相应的第四应答信息,以便所述VSCode编辑器基于所述第四应答信息结束调试处理。这样一来,本申请解决了传统GDB调试时不够灵活的问题,同时改善了开发人员在调试软件时依赖打印调试信息解决问题的局限性,从而提高了开发效率。
进一步的,本申请实施例还公开了一种电子设备,图6是根据一示例性实施例示出的电子设备30结构图,图中的内容不能认为是对本申请的使用范围的任何限制。
图6为本申请实施例提供的一种电子设备30的结构示意图。该电子设备30,具体可以包括:至少一个处理器31、至少一个存储器32、电源33、通信接口34、输入输出接口35和通信总线36。其中,所述存储器32用于存储计算机程序,所述计算机程序由所述处理器31加载并执行,以实现前述任一实施例公开的可视化远程调试方法、环境搭建方法中的相关步骤。另外,本实施例中的电子设备30具体可以为电子计算机。
本实施例中,电源33用于为电子设备30上的各硬件设备提供工作电压;通信接口34能够为电子设备30创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口35,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
另外,存储器32作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源可以包括操作系统321、计算机程序322等,存储方式可以是短暂存储或者永久存储。
其中,操作系统321用于管理与控制电子设备30上的各硬件设备以及计算机程序322,其可以是Windows Server、Netware、Unix、Linux等。计算机程序322除了包括能够用于完成前述任一实施例公开的由电子设备30执行的可视化远程调试方法、环境搭建方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。
进一步的,本申请还公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的可视化远程调试方法、环境搭建方法。关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本申请所提供的技术方案进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (10)

1.一种嵌入式设备的可视化远程调试环境搭建方法,其特征在于,包括:
配置WSL环境并在所述WSL环境中安装Ubuntu系统,以完成本地Linux环境的搭建;
在搭建好的所述本地Linux环境上安装目标程序以及用于进行代码编译的目标交叉编译工具链,并安装VSCode编辑器以及所述VSCode编辑器对应的目标插件;
利用所述目标插件将所述VSCode编辑器与所述WSL环境上的Ubuntu系统进行连接,若连接成功,则在所述Ubuntu系统上安装进行远程调试的VSCode服务器,以便基于所述VSCode服务器控制预先安装在所述Ubuntu系统上的GDB客户端以及安装在目标机Linux系统上的作为调试器的GDB服务端对待调试可执行程序进行可视化远程调试。
2.根据权利要求1所述的嵌入式设备的可视化远程调试环境搭建方法,其特征在于,所述配置WSL环境并在所述WSL环境中安装Ubuntu系统,以完成本地Linux环境的搭建之后,还包括:
在本地操作系统的终端输入第一目标命令查看所述WSL环境的状态,以便于验证所述WSL环境是否配置成功;
在所述本地操作系统的终端输入第二目标命令查看所述Ubuntu系统的运行状态,以便于确定所述Ubuntu系统是否安装成功。
3.根据权利要求1所述的嵌入式设备的可视化远程调试环境搭建方法,其特征在于,在搭建好的所述本地Linux环境上安装用于进行代码编译的目标交叉编译工具链,包括:
将用于进行代码编译的所述目标交叉编译工具链复制到搭建好的所述Linux环境对应的所述Ubuntu系统的目标目录中,并在所述Ubuntu系统中配置所述目标交叉编译工具链的全局路径,以完成所述目标交叉编译工具链的安装。
4.根据权利要求1所述的嵌入式设备的可视化远程调试环境搭建方法,其特征在于,所述利用所述目标插件将所述VSCode编辑器与所述WSL环境上的Ubuntu系统进行连接之后,还包括:
在所述VSCode编辑器中编写测试代码;
利用所述VSCode编辑器远程连接所述WSL环境上的Ubuntu系统,并利用所述目标交叉编译工具链对所述测试代码进行编译,以便于将相应的编译后的可执行程序文件复制到所述目标机上;
获取所述目标机执行所述可执行程序文件后得到的执行结果;
基于所述执行结果确定所述Ubuntu系统是否搭建成功。
5.根据权利要求4所述的嵌入式设备的可视化远程调试环境搭建方法,其特征在于,所述基于所述执行结果确定所述Ubuntu系统是否搭建成功,包括:
若所述执行结果满足预设条件,则判定所述Ubuntu系统搭建成功;
若所述执行结果不满足所述预设条件,则判定所述Ubuntu系统搭建失败。
6.根据权利要求1至5任一项所述的嵌入式设备的可视化远程调试环境搭建方法,其特征在于,所述在所述Ubuntu系统上安装进行远程调试的VSCode服务器之后,还包括:
获取GDB源码,基于所述GDB源码在所述Ubuntu系统中编译生成作为调试器的GDB服务端的目标可执行程序,将所述目标可执行程序复制到所述目标机,并配置所述目标机Linux系统中的传输功能以及连接功能,以完成对所述目标机的配置。
7.一种嵌入式设备的可视化远程调试方法,其特征在于,应用于WSL主机,包括:
在获取到VSCode编辑器发送的调试请求后调用GDB客户端与目标机作为调试器的GDB服务端进行通信,以便所述GDB服务端启动待调试可执行程序,并向WSL主机发送相应的第一应答信息;
获取所述第一应答信息,根据所述第一应答信息对所述待调试可执行程序执行符号解析以及动态库解析与加载的操作,并在操作完成后向所述VSCode编辑器发送第二应答信息,以便开发人员基于所述VSCode编辑器将调试指令发送至所述WSL主机;
基于所述GDB客户端对所述调试指令进行解析,并将相应的解析后调试信息发送至所述GDB服务端,以便于所述GDB服务端对所述解析后调试信息进行处理,并将相应的处理结果基于所述WSL主机发送至所述VSCode编辑器;
接收所述VSCode编辑器发送的断开调试请求,并将所述断开调试请求转发至所述GDB服务端,以便所述GDB服务端结束对所述待调试可执行程序的调试,并在结束后发送相应的第三应答信息至所述GDB客户端;
通过所述GDB客户端基于所述第三应答信息断开与所述GDB服务端的通信,并向所述VSCode编辑器发送相应的第四应答信息,以便所述VSCode编辑器基于所述第四应答信息结束调试处理。
8.一种嵌入式设备的可视化远程调试环境搭建装置,其特征在于,包括:
环境搭建模块,用于配置WSL环境并在所述WSL环境中安装Ubuntu系统,以完成本地Linux环境的搭建;
第一安装模块,用于在搭建好的所述本地Linux环境上安装目标程序以及用于进行代码编译的目标交叉编译工具链,并安装VSCode编辑器以及所述VSCode编辑器对应的目标插件;
连接模块,用于利用所述目标插件将所述VSCode编辑器与所述WSL环境上的Ubuntu系统进行连接;
第一安装模块,用于若连接成功,则在所述Ubuntu系统上安装进行远程调试的VSCode服务器,以便基于所述VSCode服务器控制预先安装在所述Ubuntu系统上的GDB客户端以及安装在目标机Linux系统上的作为调试器的GDB服务端对待调试可执行程序进行可视化远程调试。
9.一种嵌入式设备的可视化远程调试装置,其特征在于,应用于WSL主机,包括:
通信模块,用于在获取到VSCode编辑器发送的调试请求后调用GDB客户端与目标机作为调试器的GDB服务端进行通信,以便所述GDB服务端启动待调试可执行程序,并向WSL主机发送相应的第一应答信息;
第二应答信息发送模块,用于获取所述第一应答信息,根据所述第一应答信息对所述待调试可执行程序执行符号解析以及动态库解析与加载的操作,并在操作完成后向所述VSCode编辑器发送第二应答信息,以便开发人员基于所述VSCode编辑器将调试指令发送至所述WSL主机;
处理结果发送模块,用于基于所述GDB客户端对所述调试指令进行解析,并将相应的解析后调试信息发送至所述GDB服务端,以便于所述GDB服务端对所述解析后调试信息进行处理,并将相应的处理结果基于所述WSL主机发送至所述VSCode编辑器;
第三应答信息发送模块,用于接收所述VSCode编辑器发送的断开调试请求,并将所述断开调试请求转发至所述GDB服务端,以便所述GDB服务端结束对所述待调试可执行程序的调试,并在结束后发送相应的第三应答信息至所述GDB客户端;
第四应答信息发送模块,用于通过所述GDB客户端基于所述第三应答信息断开与所述GDB服务端的通信,并向所述VSCode编辑器发送相应的第四应答信息,以便所述VSCode编辑器基于所述第四应答信息结束调试处理。
10.一种电子设备,其特征在于,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求1至7任一项所述方法的步骤。
CN202410162294.1A 2024-02-05 2024-02-05 一种可视化远程调试方法、环境搭建方法、装置及设备 Pending CN118012759A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410162294.1A CN118012759A (zh) 2024-02-05 2024-02-05 一种可视化远程调试方法、环境搭建方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410162294.1A CN118012759A (zh) 2024-02-05 2024-02-05 一种可视化远程调试方法、环境搭建方法、装置及设备

Publications (1)

Publication Number Publication Date
CN118012759A true CN118012759A (zh) 2024-05-10

Family

ID=90942673

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410162294.1A Pending CN118012759A (zh) 2024-02-05 2024-02-05 一种可视化远程调试方法、环境搭建方法、装置及设备

Country Status (1)

Country Link
CN (1) CN118012759A (zh)

Similar Documents

Publication Publication Date Title
CN108647028B (zh) 应用程序信息处理方法和装置
CN102053836B (zh) 一种Android应用开发的版本管理工具的实现方法
KR100499050B1 (ko) 이동통신을 위한 임베디드 시스템의 구현 방법
US10338907B2 (en) Cloud service framework for toolkit deployment
CN110781085B (zh) 一种游戏自动化测试方法、装置、终端和计算机存储介质
CN111104143B (zh) 一种固件升级方法及升级装置
CN107577609B (zh) 一种基于主机端动态链接的嵌入式系统动态模块调试系统
CN111382048B (zh) 真机测试平台上移动设备的管理方法和装置
CN102447732A (zh) 一种在bmc开发中智能配置宿主机嵌入式环境的方法
CN110262817B (zh) 一种基于以太网的单片机程序批量升级方法及系统
CN106648762B (zh) 一种搭建开发环境的方法及装置
CN110012082A (zh) 嵌入式设备及其升级方法、控制终端
CN115757183A (zh) 天熠嵌入式操作系统下一种基于代理的任务级调试方法
CN113722204A (zh) 一种应用调试方法、系统、设备及介质
CN103176903B (zh) MapReduce分布式系统程序的测试方法及设备
CN106776310B (zh) 一种调试方法及调试装置
CN107729090A (zh) 一种基于串口传输的用户程序下载方法
CN112052037A (zh) 一种应用软件开发方法、装置、设备及介质
CN118012759A (zh) 一种可视化远程调试方法、环境搭建方法、装置及设备
CN115437925A (zh) 用于操作系统的功能自动化测试工具
CN113157329A (zh) 启动应用的方法、系统、服务器和存储介质
CN112306492A (zh) 一种基于管理者和工作者架构的支持多平台的自动化编译方法
Savoye The DejaGnu Testing Framework
Collins et al. Crossfire: multiprocess, cross-browser, open-web debugging protocol
CN116909604A (zh) 嵌入式设备的升级方法、装置、嵌入式设备和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination