一种应用程序调试方法、装置、计算机设备及存储介质制造方法及图纸

技术编号:33836151 阅读:60 留言:0更新日期:2022-06-16 11:52
本公开提供了一种应用程序调试方法、装置、计算机设备及存储介质,其中,该方法包括:通过与调试服务器建立的通信连接,接收调试服务器发送的针对目标应用程序的代码文件的第一代码运行命令,并执行第一代码运行命令;若在执行第一代码运行命令的过程中,接收到调试服务器发送的添加断点命令,暂停执行第一代码运行命令,并基于添加断点命令中包含的断点位置信息,确定目标代码;响应调试服务器发送的针对目标代码的第二代码运行命令,循环运行目标代码,直到接收到调试服务器的停止命令;将目标代码对应的代码运行结果反馈给调试服务器。本公开实施例不仅能实现远端调试,而且能实现及时定位应用程序中的问题。实现及时定位应用程序中的问题。实现及时定位应用程序中的问题。

【技术实现步骤摘要】
一种应用程序调试方法、装置、计算机设备及存储介质


[0001]本公开涉及计算机
,具体而言,涉及一种应用程序调试方法、装置、计算机设备及存储介质。

技术介绍

[0002]在计算机应用程序开发过程中,为了保证应用程序正常运行,通常需要对应用程序的脚本进行调试。
[0003]在脚本调试过程中经常会出现偶现性的程序漏洞(BUG)。当应用程序中的脚本出现偶现性的BUG的情况下,通常需要进行大量的重复调试操作才能让BUG重现,导致重现问题困难,并且容易耗费大量的人力成本。并且,当前主要是在本地提供的集成开发环境中,利用第三方插件进行调试,这种调试方式对应的调试范围有限。

技术实现思路

[0004]本公开实施例至少提供一种应用程序调试方法、装置、计算机设备及存储介质。
[0005]第一方面,本公开实施例提供了一种应用程序调试方法,应用于客户端,包括:
[0006]通过与调试服务器建立的通信连接,接收所述调试服务器发送的针对目标应用程序的代码文件的第一代码运行命令,并执行所述第一代码运行命令;
[0007]若在执行所述第一代码运行命令的过程中,接收到所述调试服务器发送的添加断点命令,暂停执行所述第一代码运行命令,并基于所述添加断点命令中包含的断点位置信息,确定所述断点位置信息所指示的目标位置处的目标代码;
[0008]响应所述调试服务器发送的针对所述目标代码的第二代码运行命令,循环运行所述目标代码,直到接收到所述调试服务器的停止命令;
[0009]将所述目标代码对应的代码运行结果反馈给所述调试服务器。
[0010]一种可选的实施方式中,所述客户端为移动端;根据以下方式建立所述移动端与所述调试服务器之间的所述通信连接:
[0011]接收所述调试服务器发送的通信连接请求;所述通信连接请求中包含所述调试服务器的互联网协议IP地址和端口标识信息;
[0012]基于所述调试服务器的IP地址和所述端口标识信息,与所述调试服务器建立传输控制协议TCP通信连接。
[0013]一种可选的实施方式中,所述客户端为模拟器;根据以下方式建立所述模拟器与所述调试服务器之间的所述通信连接:
[0014]接收与所述调试服务器连接的中转设备发送的通信连接请求;所述通信连接请求中包含所述中转设备的转发端口的标识信息;所述中转设备的转发端口与所述调试服务器通信连接;
[0015]基于所述中转设备的转发端口的标识信息,与所述中转设备的转发端口建立通信连接。
[0016]一种可选的实施方式中,所述循环运行所述目标代码,直到接收到所述调试服务器的停止命令,包括:
[0017]循环运行所述目标代码,在接收到所述调试服务器发送的跳出断点命令的情况下,停止运行所述目标代码,并继续执行所述第一代码运行命令。
[0018]一种可选的实施方式中,所述添加断点命令中还包含帧图像标记位信息;
[0019]在接收到所述调试服务器发送的添加断点命令的情况下,所述方法还包括:
[0020]基于所述帧图像标记位信息,确定所述代码文件中包含的目标帧图像;
[0021]将渲染中的所述目标帧图像返回至所述调试服务器,以在所述调试服务器对应的显示端显示所述目标帧图像的渲染状态信息。
[0022]一种可选的实施方式中,所述第一代码运行命令和/或所述第二代码运行命令为定制型命令;所述定制型命令中包含用于表示定制型命令的关键字以及所述关键字对应的待执行所述定制型命令的代码。
[0023]一种可选的实施方式中,在确定所述断点位置信息所指示的目标位置处的目标代码之后,所述方法还包括:
[0024]获取所述目标代码中函数堆栈对应的函数信息;所述函数信息中包含以下至少一种:函数引用信息、函数局部变量数据、函数闭包数据;
[0025]基于所述函数引用信息,确定所述函数堆栈中各个函数的层叠级别信息;
[0026]基于所述各个函数的层叠级别信息,确定所述各个函数的函数局部变量数据以及所述各个函数的函数闭包数据,并通过所述通信连接反馈给所述调试服务器。
[0027]第二方面,本公开实施例还提供一种应用程序调试装置,包括:
[0028]第一接收模块,用于通过与调试服务器建立的通信连接,接收所述调试服务器发送的针对目标应用程序的代码文件的第一代码运行命令,并执行所述第一代码运行命令;
[0029]第一确定模块,用于若在执行所述第一代码运行命令的过程中,接收到所述调试服务器发送的添加断点命令,暂停执行所述第一代码运行命令,并基于所述添加断点命令中包含的断点位置信息,确定所述断点位置信息所指示的目标位置处的目标代码;
[0030]运行模块,用于响应所述调试服务器发送的针对所述目标代码的第二代码运行命令,循环运行所述目标代码,直到接收到所述调试服务器的停止命令;
[0031]反馈模块,用于将所述目标代码对应的代码运行结果反馈给所述调试服务器。
[0032]第三方面,本公开实施例还提供一种计算机设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
[0033]第四方面,本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
[0034]本公开实施例提供的应用程序调试方法,客户端可以通过与调试服务器建立的通信连接接收调试服务器发送的针对目标应用程序的代码文件的第一代码运行命令并执行第一代码运行命令,以便后续可以通过通信连接向调试服务器反馈运行结果,从而可以实现对远端(比如手机端、模拟器)上应用程序的调试,克服了当前调试方式对应的调试范围
有限的问题;另外,本公开实施例在暂停执行第一代码运行命令的时候添加断点,可以实现对断点处的目标代码循环执行第二代码运行命令,从而可以及时准确地定位出目标应用程序中的BUG,克服了需要对应用程序中的整个脚本进行大量、重复调试操作才能重现BUG的问题,不仅可以降低重现问题的难度,而且可以节约人力成本。
[0035]为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
[0036]为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0037]图1示出了本公开实施例所本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种应用程序调试方法,其特征在于,应用于客户端,包括:通过与调试服务器建立的通信连接,接收所述调试服务器发送的针对目标应用程序的代码文件的第一代码运行命令,并执行所述第一代码运行命令;若在执行所述第一代码运行命令的过程中,接收到所述调试服务器发送的添加断点命令,暂停执行所述第一代码运行命令,并基于所述添加断点命令中包含的断点位置信息,确定所述断点位置信息所指示的目标位置处的目标代码;响应所述调试服务器发送的针对所述目标代码的第二代码运行命令,循环运行所述目标代码,直到接收到所述调试服务器的停止命令;将所述目标代码对应的代码运行结果反馈给所述调试服务器。2.根据权利要求1所述的方法,其特征在于,所述客户端为移动端;根据以下方式建立所述移动端与所述调试服务器之间的所述通信连接:接收所述调试服务器发送的通信连接请求;所述通信连接请求中包含所述调试服务器的互联网协议IP地址和端口标识信息;基于所述调试服务器的IP地址和所述端口标识信息,与所述调试服务器建立传输控制协议TCP通信连接。3.根据权利要求1所述的方法,其特征在于,所述客户端为模拟器;根据以下方式建立所述模拟器与所述调试服务器之间的所述通信连接:接收与所述调试服务器连接的中转设备发送的通信连接请求;所述通信连接请求中包含所述中转设备的转发端口的标识信息;所述中转设备的转发端口与所述调试服务器通信连接;基于所述中转设备的转发端口的标识信息,与所述中转设备的转发端口建立通信连接。4.根据权利要求1所述的方法,其特征在于,所述循环运行所述目标代码,直到接收到所述调试服务器的停止命令,包括:循环运行所述目标代码,在接收到所述调试服务器发送的跳出断点命令的情况下,停止运行所述目标代码,并继续执行所述第一代码运行命令。5.根据权利要求1所述的方法,其特征在于,所述添加断点命令中还包含帧图像标记位信息;在接收到所述调试服务器发送的添加断点命令的情况下,所述方法还包括:基于所述帧图像标记位信息,确定所述代码文件中包含的目标帧图像;将渲染中的所述目标帧图像返回至所述调试服务器,以在所...

【专利技术属性】
技术研发人员:陈镇秋
申请(专利权)人:北京字跳网络技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1