CN104102575A - 在线调试方法 - Google Patents

在线调试方法 Download PDF

Info

Publication number
CN104102575A
CN104102575A CN201310124421.0A CN201310124421A CN104102575A CN 104102575 A CN104102575 A CN 104102575A CN 201310124421 A CN201310124421 A CN 201310124421A CN 104102575 A CN104102575 A CN 104102575A
Authority
CN
China
Prior art keywords
client
network
debugged
server
debugging
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
CN201310124421.0A
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.)
SHANGHAI XINDONG ENTERPRISE DEVELOPMENT Co Ltd
Original Assignee
SHANGHAI XINDONG ENTERPRISE DEVELOPMENT 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 SHANGHAI XINDONG ENTERPRISE DEVELOPMENT Co Ltd filed Critical SHANGHAI XINDONG ENTERPRISE DEVELOPMENT Co Ltd
Priority to CN201310124421.0A priority Critical patent/CN104102575A/zh
Publication of CN104102575A publication Critical patent/CN104102575A/zh
Pending legal-status Critical Current

Links

Abstract

本发明涉及一种在线调试方法,由服务器对客户端应用程序进行调试的在线调试,服务器至少运行有第一进程,客户端具有唯一的终端标识,第一进程通过网络调用控制客户端上应用程序的运行,网络调用对应于客户端的终端标识,该方法包括如下步骤:确定待调试客户端;第一进程停止对应于待调试客户端终端标识的第一网络调用;新建第二进程,第二进程以对应于待调试客户端终端标识的第二网络调用调试待调试客户端上应用程序。其在对部分客户端上应用程序进行线上调试的同时,不影响其他客户端上应用程序的正常运行,从而调试效率较高,有利于整个系统的持续稳定运行。

Description

在线调试方法
技术领域
本发明涉及计算机应用开发领域,更具体地,涉及一种在线调试方法。
背景技术
现今在通信领域的很多具体应用中,都存在着服务器与客户端通信以控制客户端上应用程序的运行这种模式。原先,对客户端上应用程序的调试往往需要在线下进行,即先停止应用程序的在线运行,然后在客户端模拟出服务器发出的各种控制指令,以进行调试工作。这种线下调试的方法往往难以再现应用程序线上运行中出现的一些意想不到的情况,从而调试效率低下。
现有技术中出现了一些线上调试客户端应用程序的方法,可在服务器端对客户端上的应用程序进行调试,但在进行线上调试时,由于服务器通常与多个客户端同时通信,若服务器端进入调试模式时,其他不需调试的客户端都将无法以正常模式运行,从而使整个系统运行效率低下。
因此,研发出一种服务器对部分客户端上应用程序进行线上调试的同时,不影响其他客户端上应用程序正常运行的调试方法,是本发明需要解决的技术问题。
发明内容
本发明的目的在于提供一种在线调试方法,其在服务器调试部分客户端上应用程序的同时,不影响其他客户端上应用程序的正常运行。
为实现上述目的,本发明的技术方案如下:
一种由服务器对客户端应用程序进行调试的在线调试方法,服务器至少运行有第一进程,客户端具有唯一的终端标识,第一进程通过网络调用控制客户端上应用程序的运行,网络调用对应于客户端的终端标识,该方法包括如下步骤:a)、确定待调试客户端;b)、第一进程停止对应于待调试客户端终端标识的第一网络调用;c)、新建第二进程,第二进程以对应于待调试客户端终端标识的第二网络调用调试待调试客户端上应用程序。
优选地,步骤c具体包括:c1)、新建第二进程,释放第一网络调用占用的资源,为第二网络调用分配资源;以及c2)、第二进程以第二网络调用调试待调试客户端上应用程序。
优选地,步骤c)之后还包括:d)、终止第二进程,释放第二网络调用占用的资源。
优选地,步骤d)之后还包括:e)、为第一网络调用分配资源,第一进程恢复第一网络调用。
本发明提供的在线调试方法,在由服务器对部分客户端上应用程序进行线上调试的同时,不影响其他客户端上应用程序的正常运行,从而调试效率较高,有利于整个系统的持续稳定运行。
附图说明
图1示出本发明第一实施例的在线调试方法的流程图;
图2示出本发明第二实施例的在线调试方法的流程图。
具体实施方式
下面结合附图,对本发明的具体实施方式作进一步的详细说明。
需要说明的是,在本发明的任一实施例中,服务器与多个客户端通信,服务器上至少运行有第一进程通过网络调用控制每个客户端上应用程序的运行,每个客户端具有唯一的终端标识,网络调用对应于客户端的终端标识。第一进程表示服务器端控制客户端应用程序正常运行的进程,其以第一网络调用指示待调试客户端的某个对象进行某种行为;第二进程表示服务器端对客户端应用程序进行调试所用的进程,其以第二网络调用指示待调试客户端的某个对象进行某种行为。第一网络调用与第二网络调用对应于相同的待调试客户端终端标识,但分别由第一进程和第二进程所实施。
如图1所示,本发明第一实施例的在线调试方法包括如下步骤:
步骤S11:服务器确定待调试客户端。
具体地,服务器通过获得一个或多个客户端的终端标识来确定一个或多个待调试客户端,其可以如下三种方式中的任一种进行,也可以它们的组合方式进行:
客户端向服务器发送一调试请求,该调试请求携带客户端的终端标识,服务器收到调试请求后确定该客户端为待调试客户端;
或者,客户端与服务器进行通信并定时发送一运行状态报告,该运行状态报告携带客户端的终端标识;若服务器根据运行状态报告判断该客户端处于异常状态,即确定该客户端为待调试客户端;
又或者,服务器中存储一客户端标识符列表,服务器按该客户端标识符列表每次将至少一个客户端设定为待调试客户端。
步骤S12:第一进程停止对应于待调试客户端终端标识的第一网络调用。
具体地,待调试客户端将与服务器在调试模式下通信,为避免第一网络调用的客户端对象与调试模式下第二网络调用的对象相同进而产生访问冲突,第一进程需要停止对应于待调试客户端终端标识的第一网络调用。例如,网络调用的对象以网络句柄来表征,则在调试开始前,第一进程应释放与待调试客户端关联的各网络句柄。
步骤S13:服务器端新建第二进程,第二进程以对应于待调试客户端终端标识的第二网络调用调试客户端上应用程序。
具体地,在服务器端新建调试用的第二进程,第二进程以对应于待调试客户端终端标识的第二网络调用控制待调试客户端上应用程序运行于调试模式下,以发现应用程序中存在的bug或异常。
本领域技术人员理解,在调试模式下,重现正常运行中出现的错误是调试的主要手段之一。即正常运行时,因客户端某个对象根据服务器端网络调用而进行某个行为并出错时,在调试模式下也应由客户端同一对象根据服务器端网络调用进行同样的行为以重现错误。
因此,进一步地,第二网络调用的对象与第一网络调用的对象相同。
进一步地,第二网络调用的对象与第一网络调用的对象进行相同的行为。
该实施例实现了在由服务器对部分客户端上应用程序进行线上调试的同时,不影响其他客户端上应用程序的正常运行。
如图2所示,本发明第二实施例的在线调试方法包括如下步骤:
S21:服务器确定待调试客户端。
具体地,其可通过如下三种方式中的任一种或它们的组合方式而具体实施:
客户端向服务器发送一调试请求,该调试请求携带客户端的终端标识,服务器收到调试请求后确定该客户端为待调试客户端;
或者,客户端与服务器进行通信并定时发送一运行状态报告,该运行状态报告携带客户端的终端标识;若服务器根据运行状态报告判断该客户端处于异常状态,即确定该客户端为待调试客户端;
又或者,服务器中存储一客户端标识符列表,服务器按该客户端标识符列表每次将至少一个客户端设定为待调试客户端。
S22:第一进程停止对应于待调试客户端终端标识的第一网络调用。
为避免第一网络调用的客户端对象与调试模式下第二网络调用的对象相同进而产生访问冲突,第一进程需要停止对应于待调试客户端终端标识的第一网络调用,此时,第一进程处于挂起状态,并没有终止。
S23:服务器端新建第二进程,释放第一网络调用占用的资源,并为第二网络调用分配资源。
具体地,为使第二进程获得足够的资源以便进行调试工作,服务器端释放第一网络调用占用的资源,再为第二网络调用分配资源。
S24:第二进程以第二网络调用调试客户端上应用程序。
具体地,第二进程以对应于待调试客户端终端标识的第二网络调用控制待调试客户端上应用程序运行于调试模式下。
优选情况下,第二网络调用的对象与第一网络调用的对象相同;第二网络调用的对象与第一网络调用的对象进行相同的行为;以试图在调试模式下重现客户端应用程序正常运行时出现的错误。
S25:服务器终止第二进程,释放第二网络调用占用的资源。
具体地,在调试完成后,服务器终止第二进程,并释放第二网络调用占用的资源。
S26:为第一网络调用分配资源,第一进程恢复第一网络调用。
具体地,服务器为第一网络调用重新分配资源,服务器与已完成调试的客户端继续通信,第一进程恢复对客户端的第一网络调用,即第一进程控制客户端应用程序运行于正常模式下。
本领域技术人员理解,GDB(GNUsymbolicdebugger,简称为GDB)调试器为一款带有图形化界面的调试工具,在调试一个程序过程中,可以让程序在调试者希望的地方停下,此时可以查看变量、寄存器、内存及堆栈。更进一步地,还可以修改变量及内存值。
根据本发明的上述实施例,进一步地,服务器上安装有一GDB调试器,在步骤S24中,以GDB调试器挂载第二进程,第二进程以第二网络调用使待调试客户端上某个对象进行某种行为,从而实现对应用程序的调试。
以上所述的仅为本发明的优选实施例,所述实施例并非用以限制本发明的专利保护范围,因此凡是运用本发明的说明书及附图内容所作的等同结构变化,同理均应包含在本发明的保护范围内。

Claims (10)

1.一种由服务器对客户端应用程序进行调试的在线调试方法,所述服务器至少运行有第一进程,所述客户端具有唯一的终端标识,所述第一进程通过网络调用控制所述客户端上应用程序的运行,所述网络调用对应于所述客户端的终端标识,该方法包括如下步骤:
a)、确定待调试客户端;
b)、所述第一进程停止对应于所述待调试客户端终端标识的第一网络调用;
c)、新建第二进程,所述第二进程以对应于所述待调试客户端终端标识的第二网络调用调试所述待调试客户端上应用程序。
2.如权利要求1所述的方法,其特征在于,所述步骤c具体包括:
c1)、新建所述第二进程,释放所述第一网络调用占用的资源,为所述第二网络调用分配资源;以及
c2)、所述第二进程以所述第二网络调用调试所述待调试客户端上应用程序。
3.如权利要求2所述的方法,其特征在于,在所述步骤c)之后还包括:
d)、终止所述第二进程,释放所述第二网络调用占用的资源。
4.如权利要求3所述的方法,其特征在于,在所述步骤d)之后还包括:
e)、为所述第一网络调用分配资源,所述第一进程恢复所述第一网络调用。
5.如权利要求4所述的方法,其特征在于,所述步骤a)具体包括:所述客户端向所述服务器发送一调试请求,所述调试请求携带所述客户端的终端标识,所述服务器确定所述客户端为所述待调试客户端。
6.如权利要求4所述的方法,其特征在于,所述步骤a)具体包括:所述客户端与所述服务器进行通信并定时发送一运行状态报告,所述运行状态报告携带所述客户端的终端标识;若所述服务器根据所述运行状态报告判断所述客户端处于异常状态,所述服务器确定所述客户端为所述待调试客户端。
7.如权利要求4所述的方法,其特征在于,所述步骤a)具体包括:所述服务器中存储一客户端标识符列表,所述服务器按所述客户端标识符列表每次将至少一个所述客户端设定为所述待调试客户端。
8.如权利要求2至7中任一项所述的方法,其特征在于,所述服务器上安装有一GDB调试器,在所述步骤c2)中,以所述GDB调试器挂载所述第二进程,所述第二进程以所述第二网络调用调试所述待调试客户端上应用程序。
9.如权利要求1至7中任一项所述的方法,其特征在于,所述第一网络调用的对象与所述第二网络调用的对象相同。
10.如权利要求9所述的方法,其特征在于,所述第二网络调用的对象与所述第一网络调用的对象进行相同的行为。
CN201310124421.0A 2013-04-11 2013-04-11 在线调试方法 Pending CN104102575A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310124421.0A CN104102575A (zh) 2013-04-11 2013-04-11 在线调试方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310124421.0A CN104102575A (zh) 2013-04-11 2013-04-11 在线调试方法

Publications (1)

Publication Number Publication Date
CN104102575A true CN104102575A (zh) 2014-10-15

Family

ID=51670744

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310124421.0A Pending CN104102575A (zh) 2013-04-11 2013-04-11 在线调试方法

Country Status (1)

Country Link
CN (1) CN104102575A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105610602A (zh) * 2015-12-10 2016-05-25 上海碧虎网络科技有限公司 一种基于互联网的设备调试及管理系统和方法
CN105893123A (zh) * 2015-11-13 2016-08-24 乐视云计算有限公司 服务器进程管理方法及系统

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105893123A (zh) * 2015-11-13 2016-08-24 乐视云计算有限公司 服务器进程管理方法及系统
WO2017080177A1 (zh) * 2015-11-13 2017-05-18 乐视控股(北京)有限公司 服务器进程管理方法及系统
CN105610602A (zh) * 2015-12-10 2016-05-25 上海碧虎网络科技有限公司 一种基于互联网的设备调试及管理系统和方法
CN105610602B (zh) * 2015-12-10 2019-03-12 上海碧虎网络科技有限公司 一种基于互联网的设备调试及管理系统和方法

Similar Documents

Publication Publication Date Title
EP3410288B1 (en) Online upgrade method, device and system
CN109559583B (zh) 故障模拟方法及其装置
CN103973515A (zh) 一种网卡稳定性测试方法
CN105159833A (zh) 自动化测试装置及方法
CN103927256A (zh) 一种控制多个安卓装置的方法
CN102932409B (zh) 一种虚拟机在线迁移的方法和系统
CN103294599B (zh) 一种基于云的嵌入式软件交叉测试方法
CN112948063B (zh) 云平台的创建方法、装置、云平台以及云平台实现系统
CN104298602A (zh) 一种调试应用程序的方法及装置
EP3422186B1 (en) Method, device and system for preventing memory data loss
CN103440146A (zh) 一种基于云存储的更新bios的方法
CN104102575A (zh) 在线调试方法
CN106843822B (zh) 一种执行代码生成方法及设备
CN111831567A (zh) 应用的测试环境配置方法、装置、系统和介质
CN111885158A (zh) 一种集群任务处理方法、装置、电子设备及存储介质
CN102970375A (zh) 集群配置方法和装置
CN114170821B (zh) 信号机的性能检测方法、装置、交通信号灯的控制系统
CN107423107B (zh) 一种移动分布式数据中心的构建方法
CN112463574A (zh) 软件测试方法、装置、系统、设备和存储介质
CN108289114B (zh) 云端服务系统及处理云端服务异常的方法
CN115599438A (zh) 应用程序的发布包的构建方法、装置、设备及介质
CN115442285A (zh) 基于虚拟化配置的网络测试方法、装置、设备及介质
US20140281474A1 (en) System and Method for Unattended Out of Band Job Execution
CN114840238A (zh) 软件升级方法、装置、电子设备及计算机可读存储介质
CN113609027A (zh) 一种arm云服务器的测试方法、装置、电子设备和存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20141015