CN105607998B - 一种通过在线方式进行嵌入软件调试的系统与方法 - Google Patents

一种通过在线方式进行嵌入软件调试的系统与方法 Download PDF

Info

Publication number
CN105607998B
CN105607998B CN201510912446.6A CN201510912446A CN105607998B CN 105607998 B CN105607998 B CN 105607998B CN 201510912446 A CN201510912446 A CN 201510912446A CN 105607998 B CN105607998 B CN 105607998B
Authority
CN
China
Prior art keywords
debugging
clouds
tool system
module
proxy module
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.)
Active
Application number
CN201510912446.6A
Other languages
English (en)
Other versions
CN105607998A (zh
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.)
PANSOFT Co.,Ltd.
Original Assignee
Chengdu Emerging Information Technology Research Institute
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 Chengdu Emerging Information Technology Research Institute filed Critical Chengdu Emerging Information Technology Research Institute
Priority to CN201510912446.6A priority Critical patent/CN105607998B/zh
Publication of CN105607998A publication Critical patent/CN105607998A/zh
Application granted granted Critical
Publication of CN105607998B publication Critical patent/CN105607998B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3644Software debugging by instrumenting at runtime

Abstract

本发明公开了一种通过在线方式进行嵌入软件调试的系统与方法,系统包括一个云端和多个用户端;所述的云端包括云端主机,所述的云端主机包括:云端调试开发工具系统:用于进行软件调试;云端代理模块:为云端调试开发工具系统提供模拟的被调试目标的通讯接口,用于接收云端调试开发工具系统所发送的各种命令,并转发到用户端;同时接收用户端所发送的信息,并转发到调试开发工具系统上。本发明利用云计算技术,通过一种新的在线嵌入软件调试方式,来解决嵌入开发软件工具系统价格昂贵,使用困难的问题,使得用户不需要购买嵌入软件开发工具系统,再安装到自己的计算机上,而是通过在线访问的方式,使用云端的调试工具系统,继而大大降低用户的开发成本。

Description

一种通过在线方式进行嵌入软件调试的系统与方法
技术领域
本发明属于软件开放领域,尤其涉及一种通过在线方式进行嵌入软件调试的系统与方法。
背景技术
在嵌入软件开发过程中,软件的调试过程是软件开发过程中必不可少的一个关键环节,相比较一般的软件开发,嵌入软件开发通常采取交叉调试的方式,即相应的开发调试工具运行在主机上,而被调试的软件运行在调试目标机上,即通常所说的单板上,嵌入软件的开发调试难度远远大于一般软件。
一些专业的公司因此推出了面向嵌入软件开发的开发工具软件系统,这些工具软件系统都是通过销售给用户,用户再安装到自己的主机上,才能开始使用,如图1所示。通常这些工具软件系统的价格都非常昂贵,同时为了保持对最新硬件的支持能力,这些工具软件系统需要不断进行升级,这也使得用户在使用过程中需要不断付出升级维护的成本。但是,通常的中小企业与个人软件开发者,无力负担这么昂贵的软件开发工具系统,仍然采取通过运行时输出打印信息的方式来调试程序,这种方式效率非常低下,使得开发时间,开发成本都大大增加,同时也增加了软件的不稳定性,降低了软件的质量。
随着智能硬件,以及物联网的迅速普及,如何降低嵌入软件开发的成本和门槛成为一个迫切需要解决的问题。
发明内容
本发明的目的在于克服现有技术的不足,提供一种通过在线方式进行嵌入软件调试的系统与方法,利用云计算技术,通过一种新的在线嵌入软件调试方式,来解决嵌入开发软件工具系统价格昂贵,使用困难的问题,使得用户不需要购买嵌入软件开发工具系统,再安装到自己的计算机上,而是通过在线访问的方式,使用云端的调试工具系统,并根据使用的云端资源来实现按需付费,继而大大降低用户的开发成本。
本发明的目的是通过以下技术方案来实现的:一种通过在线方式进行嵌入软件调试的系统,包括一个云端和多个用户端;所述的云端包括云端主机,所述的云端主机包括:
云端调试开发工具系统:用于进行软件调试;
云端代理模块:为云端调试开发工具系统提供模拟的被调试目标的通讯接口,用于接收云端调试开发工具系统所发送的各种命令,并转发到用户端;同时接收用户端所发送的信息,并转发到调试开发工具系统上;
所述的用户端包括:
调试主机:所述的调试主机包括通讯代理模块,所述的通讯代理模块接收通过云端代理模块发送的云端调试开发工具系统的各种命令,并将命令转发到调试目标机上;同时接收调试目标机传送的各种信息,并通过云端代理模块转发到云端的调试开发工具系统;
调试目标机:所述的调试目标机包括调试代理模块,所述的调试代理模块接收由通讯代理模块转发过来的云端调试开发工具系统所发出的各种命令,同时执行命令,并将执行结果发送至通讯代理。
所述的软件调试包括软件编译、下载到调试目标、设置调试断点、单步运行、显示软件运行结果、显示调试目标机运行状态以及各项参数。
所述的调试主机与调试目标机通过连接方式连接,所述的连接方式包括但不限于网口、串口、USB口、JTAG。
所述的云端主机为物理主机或者虚拟主机。
所述的云端和用户端之间通过有线数据网络或者无线数据网络连接。
一种通过在线方式进行嵌入软件调试的方法包括以下步骤:
S1:将调试主机连接至公网,连接调试主机与调试目标机, 并对通讯代理模块和云端代理模块进行设置,设置完成后使用云端调试开发工具系统;
S2:用户通过调试主机访问云端调试开发工具系统,选择处理器的类型与型号,以及操作系统类型和版本,并发送编译软件命令;
S3:云端调试开发工具系统,从所保存的源代码的位置信息,读取源代码进行编译,生成二进制可执行文件,所述的二进制可执行文件中包含调试代理模块;
S4:用户发送下载命令,云端调试开发工具系统将编译好的二进制可执行文件发送给云端代理模块,云端代理模块转发给通讯代理模块,通讯代理模块再发送到被调试的调试目标机上;
S5:用户进行调试,包括以下子步骤:
S51:用户发送命令;
S52:云端调试开发工具系统收到用户命令之后,传送命令到云端代理模块,云端代理模块再转发到通讯代理模块;
S53:用户代理模块发送到被调试的调试目标机上的调试代理模块,调试代理模块执行这些命令;
S54:调试代理模块将命令执行结果传送到用户代理模块,用户代理模块再转发到云端代理模块,云端代理模块再转发给云端调试开发工具系统;
S55:云端调试开发工具系统将运行输出结果显示在界面上,用户查看运行输出结果:若用户未完成工作返回步骤S51,否则进入步骤S6;
S6:当用户完成工作之后,断开网络连接,云端调试开发工具系统接收到断开命令之后,回收系统所使用的资源,删除通讯链路,等待下一次用户的接入。
所述的步骤S1包括以下子步骤:
S11:用户将调试主机连接至公网,同时将调试目标机连接到调试主机;
S12:通过网络连接到云端调试开发工具系统,如果是第一次访问,需要下载并安装通讯代理模块;
S13:对通讯代理模块进行设置,设置之后向云端代理模块发送连接请求;
S14:云端代理模块接受用户通讯代理的连接请求,为调试目标机建立一个通讯通道,之后所有的发向被调试的调试目标机的命令都通过所述通讯通道;同时对云端代理模块进行设置。
步骤S13中所述的对通讯代理模块进行设置包括调试目标所采取的端口方式以及开发代码的保存位置;步骤S14中所述的对云端代理模块进行设置包括开发代码的保存位置信息。
所述的位置信息的保存方式包括但不限于超文本链接、远程文件系统影射、远程磁盘映射。
用户通过网络浏览器方式或者远程桌面方式访问云端调试开发工具系统。
本发明的有益效果是:
本发明与现有调试开发工具软件系统最大的区别在于,现有调试开发工具系统运行在用户的工作主机上,用户必须通过购买软件,并安装到自己的工作主机上,用户拥有对已购买调试开发工具系统完整的所有权,而本发明所描述的技术,调试开发工具软件是运行在网络侧的云端,用户通过网络访问来获得调试开发工具系统的使用权,用户不拥有调试开发工具的所有权,只拥有在一定时间之内的,或者一定资源条件下的使用权。
本发明使得用户可以根据自己的需要,随时定制,或者租赁调试开发工具的使用权,继而大大降低用户的成本。用户也不必在自己的计算机上安装庞大的软件开发工具,使得用户不需要购买高性能的计算机,只需要能够联网的普通计算机就可以满足自己开发的一切需求。
附图说明
图1为现有技术结构示意图;
图2为本发明结构框图;
图3为本发明方法流程图。
具体实施方式
下面结合附图进一步详细描述本发明的技术方案:
如图2所示,一种通过在线方式进行嵌入软件调试的系统,包括一个云端和多个用户端;所述的云端包括云端主机,其操作系统为WINDOWS或者LINUX,云端主机为物理主机或者虚拟主机;所述的云端主机包括:
云端调试开发工具系统:用于进行软件调试,运行在云端主机上的工具系统,提供通常意义下的软件调试功能,包括但不限于:软件编译,下载到调试目标,设置调试断点,单步运行,显示软件运行结果,显示调试目标机运行状态以及各项参数;
云端代理模块:为云端调试开发工具系统提供模拟的被调试目标的通讯接口,用于接收云端调试开发工具系统所发送的各种命令,并转发到用户端;同时接收用户端所发送的信息,并转发到调试开发工具系统上。
所述的云端主机还包括一个计费模块,根据用户使用软件的类型次数进行计费。
所述的用户端包括:
调试主机即通常意义上的计算机,该计算机需要通过网络与云端的调试系统相连;所述的调试主机包括通讯代理模块,所述的通讯代理模块接收通过云端代理模块发送的云端调试开发工具系统的各种命令,并将命令转发到调试目标机上;同时接收调试目标机传送的各种信息,并通过云端代理模块转发到云端的调试开发工具系统;所述的调试主机与调试目标机通过连接方式连接,所述的连接方式包括但不限于网口、串口、USB口、JTAG。
调试目标机:所述的调试目标机包括调试代理模块,所述的调试代理模块接收由通讯代理模块转发过来的云端调试开发工具系统所发出的各种命令,同时执行命令,并将执行结果发送至通讯代理。
所述的云端和用户端之间通过有线数据网络或者无线数据网络连接。
如图3所示,一种通过在线方式进行嵌入软件调试的方法包括以下步骤:
S1:将调试主机连接至公网,连接调试主机与调试目标机, 并对通讯代理模块和云端代理模块进行设置,设置完成后使用云端调试开发工具系统;
所述的步骤S1包括以下子步骤:
S11:用户将调试主机连接至公网,同时将调试目标机连接到调试主机,根据不同的调试目标系统,可选择串口,网口,USB口等;
S12:通过网络连接到云端调试开发工具系统,如果是第一次访问,需要下载并安装通讯代理模块;
S13:对通讯代理模块进行设置,设置参数包括调试目标所采取的端口方式以及开发代码的保存位置;设置之后向云端代理模块发送连接请求;
S14:云端代理模块接受用户通讯代理的连接请求,为调试目标机建立一个通讯通道,之后所有的发向被调试的调试目标机的命令都通过所述通讯通道;同时对云端代理模块进行开发代码的保存位置信息设置,位置信息的保存方式包括但不限于超文本链接、远程文件系统影射、远程磁盘映射。
完成一切设置之后,就可以按照通常使用本机调试开发工具一样使用云端调试开发工具系统。具体流程如下:
S2:用户通过网络浏览器方式或者远程桌面方式访问云端调试开发工具系统,选择处理器的类型与型号,以及操作系统类型和版本,并发送编译软件命令;
S3:云端调试开发工具系统,从所保存的源代码的位置信息,读取源代码进行编译,生成二进制可执行文件,所述的二进制可执行文件中包含调试代理模块;
S4:用户发送下载命令,云端调试开发工具系统将编译好的二进制可执行文件发送给云端代理模块,云端代理模块转发给通讯代理模块,通讯代理模块再发送到被调试的调试目标机上;这样调试目标系统就有了可以执行的包含调试代理的可执行文件;
S5:用户进行调试,包括以下子步骤:
S51:用户发送命令,包括但不限于运行、设置断点、单步、查看信息等;
S52:云端调试开发工具系统收到用户命令之后,传送命令到云端代理模块,云端代理模块再转发到通讯代理模块;
S53:用户代理模块发送到被调试的调试目标机上的调试代理模块,调试代理模块执行这些命令;
S54:调试代理模块将命令执行结果传送到用户代理模块,用户代理模块再转发到云端代理模块,云端代理模块再转发给云端调试开发工具系统;
S55:云端调试开发工具系统将运行输出结果显示在界面上,用户查看运行输出结果:若用户未完成工作返回步骤S51,否则进入步骤S6;
S6:当用户完成工作之后,断开网络连接,云端调试开发工具系统接收到断开命令之后,回收系统所使用的资源,删除通讯链路,等待下一次用户的接入。

Claims (9)

1.一种通过在线方式进行嵌入软件调试的方法,其特征在于:包括以下步骤:
S1:将调试主机连接至公网,连接调试主机与调试目标机,并对通讯代理模块和云端代理模块进行设置,设置完成后使用云端调试开发工具系统;
S2:用户通过调试主机访问云端调试开发工具系统,选择处理器的类型与型号,以及操作系统类型和版本,并发送编译软件命令;
S3:云端调试开发工具系统,从所保存的源代码的位置信息,读取源代码进行编译,生成二进制可执行文件,所述的二进制可执行文件中包含调试代理模块;
S4:用户发送下载命令,云端调试开发工具系统将编译好的二进制可执行文件发送给云端代理模块,云端代理模块转发给通讯代理模块,通讯代理模块再发送到被调试的调试目标机上;
S5:用户进行调试,包括以下子步骤:
S51:用户发送命令;所述命令包括设置调试断点、单步运行、显示软件运行结果、查看信息或显示调试目标机运行状态以及各项参数;
S52:云端调试开发工具系统收到S51中命令之后,传送命令到云端代理模块,云端代理模块再转发到通讯代理模块;
S53:通讯代理模块发送到被调试的调试目标机上的调试代理模块,调试代理模块执行这些命令;
S54:调试代理模块将命令执行结果传送到通讯代理模块,通讯代理模块再转发到云端代理模块,云端代理模块再转发给云端调试开发工具系统;
S55:云端调试开发工具系统将运行输出结果显示在界面上,用户查看运行输出结果:若用户未完成工作返回步骤S51,否则进入步骤S6;
S6:当用户完成工作之后,断开网络连接,云端调试开发工具系统接收到断开命令之后,回收系统所使用的资源,删除通讯链路,等待下一次用户的接入。
2.根据权利要求1所述的一种通过在线方式进行嵌入软件调试的方法,其特征在于:所述的步骤S1包括以下子步骤:
S11:用户将调试主机连接至公网,同时将调试目标机连接到调试主机;
S12:通过网络连接到云端调试开发工具系统,如果是第一次访问,需要下载并安装通讯代理模块;
S13:对通讯代理模块进行设置,设置之后向云端代理模块发送连接请求;
S14:云端代理模块接受通讯代理模块的连接请求,为调试目标机建立一个通讯通道,之后所有的发向被调试的调试目标机的命令都通过所述通讯通道;同时对云端代理模块进行设置。
3.根据权利要求2所述的一种通过在线方式进行嵌入软件调试的方法,其特征在于:步骤S13中所述的对通讯代理模块进行设置,包括对调试目标所采取的端口方式以及开发代码的保存位置进行设置;步骤S14中所述的对云端代理模块进行设置,包括对开发代码的保存位置信息进行设置。
4.根据权利要求3所述的一种通过在线方式进行嵌入软件调试的方法,其特征在于:所述的位置信息的保存方式包括超文本链接、远程文件系统影射或远程磁盘映射。
5.根据权利要求1或2所述的一种通过在线方式进行嵌入软件调试的方法,其特征在于:用户通过网络浏览器方式或者远程桌面方式访问云端调试开发工具系统。
6.一种通过在线方式进行嵌入软件调试的系统,其特征在于:包括一个云端和多个用户端;所述的云端包括云端主机,所述的云端主机包括:
云端调试开发工具系统:用于进行软件调试;
云端代理模块:为云端调试开发工具系统提供模拟的被调试目标的通讯接口,用于接收云端调试开发工具系统所发送的各种命令,并转发到用户端;同时接收用户端所发送的信息,并转发到云端调试开发工具系统上;
所述的用户端包括:
调试主机:所述的调试主机包括通讯代理模块,所述的通讯代理模块接收通过云端代理模块发送的云端调试开发工具系统的各种命令,并将命令转发到调试目标机上;同时接收调试目标机传送的各种信息,并通过云端代理模块转发到云端的调试开发工具系统;
调试目标机:所述的调试目标机包括调试代理模块,所述的调试代理模块接收由通讯代理模块转发过来的云端调试开发工具系统所发出的各种命令,同时执行命令,并将执行结果发送至通讯代理模块;
所述系统采用如权利要求1-4之一所述的一种通过在线方式进行嵌入软件调试的方法。
7.根据权利要求6所述的一种通过在线方式进行嵌入软件调试的系统,其特征在于:所述的调试主机与调试目标机通过连接方式连接,所述的连接方式包括网口、串口、USB口或JTAG。
8.根据权利要求7所述的一种通过在线方式进行嵌入软件调试的系统,其特征在于:所述的云端主机为物理主机或者虚拟主机。
9.根据权利要求8所述的一种通过在线方式进行嵌入软件调试的系统,其特征在于:所述的云端和用户端之间通过有线数据网络或者无线数据网络连接。
CN201510912446.6A 2015-12-11 2015-12-11 一种通过在线方式进行嵌入软件调试的系统与方法 Active CN105607998B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510912446.6A CN105607998B (zh) 2015-12-11 2015-12-11 一种通过在线方式进行嵌入软件调试的系统与方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510912446.6A CN105607998B (zh) 2015-12-11 2015-12-11 一种通过在线方式进行嵌入软件调试的系统与方法

Publications (2)

Publication Number Publication Date
CN105607998A CN105607998A (zh) 2016-05-25
CN105607998B true CN105607998B (zh) 2018-10-12

Family

ID=55987950

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510912446.6A Active CN105607998B (zh) 2015-12-11 2015-12-11 一种通过在线方式进行嵌入软件调试的系统与方法

Country Status (1)

Country Link
CN (1) CN105607998B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108241545B (zh) * 2016-12-27 2021-06-08 中移(苏州)软件技术有限公司 系统故障的调试方法及装置
CN107566519B (zh) * 2017-09-27 2021-04-06 北京蜂语网络科技有限公司 一种代码操作方法、装置、服务器及服务器集群
CN108255720A (zh) * 2018-01-12 2018-07-06 中国计量大学 基于云计算架构的软件自动测试系统
CN111338935B (zh) * 2020-02-17 2023-02-28 支付宝(杭州)信息技术有限公司 用于联调的方法和系统
CN115220769A (zh) 2021-04-16 2022-10-21 瑞昱半导体股份有限公司 实时配置固件数据的方法与调试装置
CN113448866B (zh) * 2021-07-15 2022-07-05 杭州国芯科技股份有限公司 一种嵌入式软件开发辅助调试系统及调试方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN201607721U (zh) * 2009-09-21 2010-10-13 北京旋极信息技术股份有限公司 嵌入式在线调试系统
US8752017B2 (en) * 2010-05-17 2014-06-10 Salesforce.Com, Inc. Method and system for remote debug protocol proxying for production debugging; selective session and user routing for debugging in multi-tenant cloud computing infrastructure
CN103324567B (zh) * 2012-03-22 2016-03-02 百度在线网络技术(北京)有限公司 一种应用引擎的调试方法和调试系统
CN102902624B (zh) * 2012-11-09 2015-10-21 上海斐讯数据通信技术有限公司 一种软件调试系统及方法
CN103049385B (zh) * 2012-12-29 2015-09-09 百度在线网络技术(北京)有限公司 一种云环境下的php代码调试方法及系统
JP5943861B2 (ja) * 2013-02-28 2016-07-05 京セラドキュメントソリューションズ株式会社 リモートデバッグシステム
CN103294599B (zh) * 2013-06-27 2015-11-04 东南大学 一种基于云的嵌入式软件交叉测试方法
CN104424093A (zh) * 2013-08-26 2015-03-18 阿里巴巴集团控股有限公司 一种兼容性测试方法及系统

Also Published As

Publication number Publication date
CN105607998A (zh) 2016-05-25

Similar Documents

Publication Publication Date Title
CN105607998B (zh) 一种通过在线方式进行嵌入软件调试的系统与方法
AU2014235793B2 (en) Automatic tuning of virtual data center resource utilization policies
US9715347B2 (en) Virtual disk migration
US11057502B2 (en) Cloud assisted behavioral automated testing
US9229994B2 (en) Server-side tracing of requests
US20180157562A1 (en) Virtual machine-based data transmission method, apparatus and system
CN108093652B (zh) 应用的模拟
KR20190022431A (ko) 랜덤 포레스트 모델의 훈련 방법, 전자장치 및 저장매체
WO2021142971A1 (zh) 传输速率控制方法、装置、计算机系统及可读存储介质
CN104572227A (zh) 一种基于安腾平台通过bmc刷新cpld fw方法
CN107247648B (zh) 基于Docker实现远程项目系统监管的方法、装置及系统
CN102663298B (zh) 面向终端计算机的安全在线检查系统
US20190026131A1 (en) Redirection Method and Apparatus, and System
CN103685539A (zh) 一种在国产处理器平台上运行Windows系统的方法
US7428486B1 (en) System and method for generating process simulation parameters
CN105141484A (zh) 基于云服务器的安卓设备远程调试方法
CN104092747A (zh) 虚拟化环境下usb动态连接方法及装置
CN109413189B (zh) 一种基于底层转译的电子交易系统
JP5479710B2 (ja) データを処理するためのプロセッサ‐サーバ・ハイブリッド・システムおよび方法
CN103995745A (zh) 一种ip硬盘任务执行方法以及ip硬盘
US9477579B2 (en) Embedded software debug system with partial hardware acceleration
CN109460280B (zh) 运行程序的方法、终端
CN109814973A (zh) 一种桌面云平台的实现方法、系统及服务器
US9141460B2 (en) Identify failed components during data collection
CN205193791U (zh) 一种通过在线方式进行嵌入软件调试的系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20211213

Address after: Room a309, Qilu Software Park building, 1768 Xinluo street, high tech Zone, Jinan City, Shandong Province

Patentee after: Shandong torch Technology Service Co.,Ltd.

Address before: 610000 1-1-1202, No. 84, West Street, Qingyang District, Chengdu, Sichuan

Patentee before: CHENGDU EMERGING INFORMATION TECHNOLOGY Research Institute

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20211230

Address after: Floor 1, building 2, Qilu Software Park, No.1 Shunhua Road, high tech Zone, Jinan City, Shandong Province

Patentee after: PANSOFT Co.,Ltd.

Address before: Room a309, Qilu Software Park building, 1768 Xinluo street, high tech Zone, Jinan City, Shandong Province

Patentee before: Shandong torch Technology Service Co.,Ltd.

TR01 Transfer of patent right