CN107977307A - 一种应用的调试方法及装置 - Google Patents
一种应用的调试方法及装置 Download PDFInfo
- Publication number
- CN107977307A CN107977307A CN201610938970.5A CN201610938970A CN107977307A CN 107977307 A CN107977307 A CN 107977307A CN 201610938970 A CN201610938970 A CN 201610938970A CN 107977307 A CN107977307 A CN 107977307A
- Authority
- CN
- China
- Prior art keywords
- debugged
- layer
- intended application
- application
- shows
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明实施例公开了一种应用的调试方法,用于解决现有应用运行时无法显示待调试对象,则造成定位待调试对象比较复杂的问题。本发明实施例方法包括:获取目标应用的应用程序编程接口API,其中,所述目标应用处于运行状态,所述目标应用中嵌入有目标编程语言;根据所述目标应用的API确定所述目标应用的待调试对象;获取所述待调试对象对应的目标名称,其中,所述待调试对象对应的目标名称与源文件之间存在对应关系;根据所述待调试对象的目标名称与源文件之间的对应关系确定所述待调试对象的源文件;根据所述待调试对象的源文件对所述待调试对象进行调试。
Description
技术领域
本发明涉及测试领域,具体涉及一种应用的调试方法及装置。
背景技术
应用的出现,给人们的生活带来极大改变,人们通过在终端上安装各种应用并进行使用,为了提高应用的体验,通过调试应用来发现应用是否存在漏洞,若存在漏洞,则及时对应用进行修复。
现有调试应用的过程为:提供应用的整个待调试对象的列表,提供对待调试对象的编辑,修改等操作选项,因此,若对应用进行调试,则可以直接通过这些操作选项对应用的待调试对象进行操作。
但是,在应用运行时无法显示待调试对象,需要定位查找待调试对象,整个定位过程比较复杂,无法直接定位到待调试对象对应的源文件来调试待调试对象,还需要根据待调试对象的名称从代码集中搜索待调试对象对应的链接,然后才能查找到对应的源文件。
发明内容
本发明实施例提供了一种应用的调试方法及装置,用于解决现有应用运行时无法显示待调试对象,则造成定位待调试对象比较复杂的问题。
本发明第一方面提供一种应用的调试方法,包括:
获取目标应用的应用程序编程接口API,其中,所述目标应用处于运行状态,所述目标应用中嵌入有目标编程语言;
根据所述目标应用的API确定所述目标应用的待调试对象;
获取所述待调试对象对应的目标名称,其中,所述待调试对象对应的目标名称与源文件之间存在对应关系;
根据所述待调试对象的目标名称与源文件之间的对应关系确定所述待调试对象的源文件;
根据所述待调试对象的源文件对所述待调试对象进行调试。
本发明第二方面提供一种应用的调试装置,包括:
获取模块,用于获取目标应用的应用程序编程接口API,其中,所述目标应用处于运行状态,所述目标应用中嵌入有目标编程语言;
确定模块,用于根据所述目标应用的API确定所述目标应用的待调试对象;
所述获取模块,还用于获取所述待调试对象对应的目标名称,其中,所述待调试对象对应的目标名称与源文件之间存在对应关系;
所述确定模块,还用于根据所述待调试对象的目标名称与源文件之间的对应关系确定所述待调试对象的源文件;
调试模块,用于根据所述待调试对象的源文件对所述待调试对象进行调试。
从以上技术方案可以看出,本发明实施例具有以下优点:
与现有技术不同的是,首先获取处于运行状态的目标应用的API,其中,该目标应用中嵌入有目标编程语言,这样,就可以根据该目标应用的API确定该目标应用的待调试对象,并根据该待调试对象对应的目标名称以及该目标名称与源文件之间的对应关系确定该待调试对象的源文件,这样就可以根据该待调试对象的源文件对该待调试对象进行调试。整个应用的调试过程简单快速,从而有效提高应用的调试效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中应用的调试方法的一个实施例示意图;
图2为本发明实施例中应用的调试方法的另一个实施例示意图;
图3为本发明实施例中应用的调试方法的另一个实施例示意图;
图4a为本发明实施例中应用运行的一个界面示意图;
图4b为本发明实施例中应用运行的另一个界面示意图;
图4c为本发明实施例中应用的调试工具的菜单示意图;
图4d为本发明实施例中获取应用的显示对象的一个流程示意图;
图4e为本发明实施例中应用的调试流程的一个示意图;
图4f为本发明实施例中侦听器软件的一个功能示意图;
图4g为本发明实施例中应用中加入多语言转换的一个界面示意图;
图4h为本发明实施例中多语言翻译的一个翻译示意图;
图5为本发明实施例中应用的调试装置的一个实施例示意图;
图6为本发明实施例中应用的调试装置的另一个实施例示意图;
图7为本发明实施例中应用的调试装置的另一个实施例示意图;
图8为本发明实施例中应用的调试装置的另一个实施例示意图;
图9为本发明实施例中应用的调试装置的另一个实施例示意图。
具体实施方式
本发明实施例提供了一种应用的调试方法及装置,用于解决现有应用运行时无法显示待调试对象,则造成定位待调试对象比较复杂的问题。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在介绍本发明实施例之前,先介绍一下本发明的技术方案中可能涉及的术语:
术语“网页游戏”,网页游戏简称页游,又称Web游戏、无端网游,是一种基于网页的电子游戏,一般不需要下载网页游戏客户端,任何一台能上网的电脑就可以进行网页游戏,与其他大型游戏比较,网页游戏具有占用空间小、硬件要求低等特点。
术语“Flash CS”,是用于创建动画和多媒体内容的强大的创作平台,网页游戏中常用Flash CS制作网页游戏的用户界面及其动画特效等,Flash CS目前最新的版本是Adobe Flash Professional CC,其中,比较常用的版本是Adobe Flash CS 6。
术语“FLA”,是Flash CS软件中生成的一种包含原始素材的Flash动画格式的源文件,FLA文件只能在Flash CS软件中进行编辑并且编译生成SWF(英文:ShackWave File)文件,所有的原始素材都保存在FLA文件中,由于它包含所需要的全部原始信息,所以体积较大。
术语“SWF”是通过Flash CS软件中进行内容编辑最终编译生成的文件。SWF文件可以通过电脑浏览器内置的Flash player播放。
术语“AS3”,英文全称为Action Script 3.0,是Flash的第三代编程语言。AS3是一种强大的面向应用程序的对象的编程语言,通过它可以快速地构建效果丰富的互联网应用程序,现今95%以上的网页游戏都用AS3来编写。
术语“JSFL”,用于编写在Flash CS运行期间执行多个动作的脚本,结合已有的应用程序编程接口(英文全称:Application Programming Interface,缩写:API)实现一些辅助功能。
术语“显示对象”,Flash网页游戏在运行时,把一些可见的物体称为显示对象,例如游戏中的角色按钮,角色界面,所有的显示对象都具有一些基础属性,例如:坐标XY、可见度、宽度、高度等。
术语“容器对象”,显示对象中可以包含其他子显示对象,我们把包含其他子显示对象的显示对象又称为容器对象。例如:显示对象A包含显示对象B,我们可以称呼A为B的父容器,B为A的子对象。一个容器对象,如果里面没有包含任何东西,我们称之为空容器。
术语“原生显示对象”,为不包含其他子显示对象的显示对象称为原生显示对象。
本发明的技术方案应用于网页游戏,例如:该网页游戏为各种语言版本的火影忍者,例如:台湾版,英语版,法语版,德语版,葡语版等。开发一套Flash网页游戏的调试工具,借助于这一套调试工具可以在网页游戏运行时轻松定位、修改游戏中的资源,修改游戏中的漏洞,从而提高游戏的调试效率以及游戏的开发效率。
请参阅图1,为本发明实施例中应用的调试方法的一个实施例示意图,该实施例的具体流程如下:
步骤101、获取目标应用的应用程序编程接口API,其中,所述目标应用处于运行状态,所述目标应用中嵌入有目标编程语言。
与现有技术不同的是,在目标应用中嵌入目标编程语言,其中,该目标编程语言可根据实际情况而定,例如:该目标编程语言是基于flash平台的AS3语言,此处不做具体限定。另外,该目标应用可以是学习应用,游戏应用等,本发明实施例中以网页游戏应用进行介绍。
步骤102、根据所述目标应用的API确定所述目标应用的待调试对象。
由于在目标应用中嵌入有目标编程语言后,则应用的调试装置可以直接根据获取的该目标应用的API确定该目标应用的待调试对象,整个流程简单快速,从而有效提高了待调试对象的定位效率。
步骤103、获取所述待调试对象对应的目标名称,其中,所述待调试对象对应的目标名称与源文件之间存在对应关系。
步骤104、根据所述待调试对象的目标名称与源文件之间的对应关系确定所述待调试对象的源文件。
本发明实施例中,应用的调试装置直接根据预设的待调试对象的目标名称与源文件之间的对应关系确定该待调试对象的源文件,整个定位过程非常迅速,从而节省了定位时间。
步骤105、根据所述待调试对象的源文件对所述待调试对象进行调试。
当确定后待调试对象的源文件之后,则应用的调试装置直接根据待调试对象的源文件对待调试对象进行调试,如该待调试对象存在漏洞,则及时对该待调试对象进行修复,还可以直接对该待调试对象进行编辑等,可见,整个应用的调试过程简单快速,从而有效提高应用的调试效率。
请参阅图2,为本发明实施例中应用的调试方法的另一个实施例示意图,该实施例的具体流程如下:
步骤201、获取目标应用的应用程序编程接口API,其中,所述目标应用处于运行状态,所述目标应用中嵌入有目标编程语言。
在实际应用中,该目标应用为待调试的应用,可以是游戏应用,可以是学习应用等,本发明中主要以网页游戏应用介绍。
步骤202、根据所述目标应用的API确定所述目标应用的待调试对象。
在实际应用中,根据该目标应用的API确定该目标应用的待调试对象的方式有很多种:
在一些可能的实现方式中,根据所述目标应用的API确定所述目标应用的第一层显示对象,其中,所述第一层显示对象至少有一个;从所述第一层显示对象中选取至少一个确定为所述目标应用的待调试对象。
在一些可能的实现方式中,根据所述目标应用的API确定所述目标应用的第一层显示对象,其中,所述第一层显示对象至少有一个;根据所述第一层显示对象的层级结构获取所述第一层显示对象对应的第二层显示对象,其中,所述第二层显示对象至少有一个,所述第二层显示对象为所述第一层显示对象的上层显示对象;从所述第二层显示对象中选取至少一个确定为所述目标应用的待调试对象。
在一些可能的实现方式中,根据所述目标应用的API确定所述目标应用的第一层显示对象,其中,所述第一层显示对象至少有一个;根据所述第一层显示对象的层级结构获取所述第一层显示对象对应的第三层显示对象,其中,所述第三层显示对象至少有一个,所述第三层显示对象为所述第一层显示对象对应的下层显示对象;从所述第三层显示对象中选取至少一个确定为所述目标应用的待调试对象。
在实际应用中,例如:应用的调试装置可以直接根据目标应用的API确定目标应用的显示对象A,显示对象B,显示对象C等多个第一层显示对象,其中,该多个第一层显示对象显示在应用界面上,这样,就可以直接从该多个第一层显示对象中选取至少一个作为待调试对象。另外,还可以根据该目标应用的API确定该第一层显示对象对应的第二层显示对象,该第二层显示对象为第一层显示对象对应的父容器对象,例如:父容器对象A,父容器对象B,父容器对象C,并将该多个父容器对象中显示在应用界面上,则可以使得用户在应用界面上清晰的看到该多个第二层显示对象,该应用的调试装置可以通过接收用户的操作确定待调试对象,其中,该待调试对象为该多个第二层显示对象中的至少一个。另外,还可以根据该目标应用的API确定该第一层显示对象对应的第三层显示对象,该第三层显示对象为第一层显示对象对应的子对象,例如:子对象a,子对象b,子对象c,并将该多个子对象中显示在应用界面上,则可以使得用户在应用界面上清晰的看到该多个第三层显示对象,该应用的调试装置可以通过接收用户的操作确定待调试对象,其中,该待调试对象为该多个第三层显示对象中的至少一个。
步骤203、获取所述目标应用的全部显示对象。
步骤204、获取所述每个显示对象对应的源文件。
步骤205、确定每个显示对象与源文件之间的对应关系,并进行本地保存。
可见,该应用的调试装置提前确定好目标应用的每个显示对象与源文件之间的对象关系,由于该目标应用的显示对象有很多个,则分别获取每个显示对象对应的源文件,并形成每个显示对象与源文件之间的对应关系,在实际应用中,可以以列表的形式记录每个显示对象与源文件之间的对应关系,并进行本地保存,以便后续直接使用。
步骤206、获取所述待调试对象对应的目标名称,其中,所述待调试对象对应的目标名称与源文件之间存在对应关系。
步骤207、根据所述待调试对象的目标名称与源文件之间的对应关系确定所述待调试对象的源文件。
在实际应用中,当获取该待调试对象对应的目标名称后,直接从本地保存的每个显示对象与源文件之间的对应关系列表中查找到待调试对象对应的目标名称与源文件之间存在对应关系,则直接根据该待调试对象的目标名称与源文件之间的对应关系确定所述待调试对象的源文件,简单方便。
步骤208、根据所述待调试对象的源文件对所述待调试对象进行调试。
当确定后待调试对象的源文件之后,则应用的调试装置直接根据待调试对象的源文件对待调试对象进行调试,如该待调试对象存在漏洞,则及时对该待调试对象进行修复,还可以直接对该待调试对象进行编辑等,可见,整个应用的调试过程简单快速,从而有效提高应用的调试效率。
请参阅图3,为本发明实施例中应用的调试方法的一个实施例示意图,该实施例的具体流程如下:
步骤301、获取目标应用的应用程序编程接口API,其中,所述目标应用处于运行状态,所述目标应用中嵌入有目标编程语言。
步骤302、根据所述目标应用的API确定所述目标应用的待调试对象。
步骤303、获取所述待调试对象对应的目标名称,其中,所述待调试对象对应的目标名称与源文件之间存在对应关系。
步骤304、根据所述待调试对象的目标名称与源文件之间的对应关系确定所述待调试对象的源文件。
需要说明的是,步骤301至步骤304与图2所示的步骤201和步骤202以及步骤206至步骤207相同或者相似,具体可参阅步骤201和步骤202以及步骤206至步骤207的描述,此处不再赘述。
步骤305、若目标应用对应的文字信息为第一语言文字,则通过所述目标应用的API将所述第一语言文字转换成第二语言文字。
在实际应用中,目标应用存在国际多语言版本,例如:英语版,中文版,德文版等,假设当前使用该英文版目标应用的用户看不懂英文,则应用的调试装置接收用户的翻译请求操作,可以直接通过应用的API将英文转换成中文,从而有效提高应用的灵活性。
步骤306、根据所述待调试对象的源文件对所述待调试对象进行调试。
当确定后待调试对象的源文件之后,则应用的调试装置直接根据待调试对象的源文件对待调试对象进行调试,如该待调试对象存在漏洞,则及时对该待调试对象进行修复,还可以直接对该待调试对象进行编辑等,可见,整个应用的调试过程简单快速,从而有效提高应用的调试效率。
在实际应用中,以目标应用为火影忍者这款网页游戏为例,在运行游戏之前,将调试工具以插件包的形式嵌入到该游戏中,其中,该调试工具主要是基于flash平台的AS3语言,在实际使用中,应用的调试装置(例如:服务器)只需要在游戏中导入调试工具对应的插件包,加载调试工具的初始化代码,该调试工具就可以运行起来。如图4a所示,为游戏运行时的一个界面示意图,该界面中可以直接显示游戏的全部显示对象,或者以隐藏的方式将部分或者全部显示对象隐藏起来,但是通过用户的手动操作可以直接将隐藏的显示对象显示在界面上以便用户选择,该显示对象分为层级结构,例如:显示对象A,显示对象A的子对象,显示对象A的父容器。在实际应用中,用户可以直接根据鼠标拖动的方式或者压力触控等方式从多个显示对象中确定被调试对象,如图4b所示,为游戏运行时的另一个界面示意图,用户可以通过一个简单的操作按钮对调试工具的菜单进行显示或者隐藏,其中,调试工具界面作为一种浮层显示在游戏界面上,可以动态地进行关闭或者显示,整个操作过程简单,直观。另外,可以通过颜色或者形状等方式区别各个显示对象,例如:红色为隐藏的显示对象;黄色为容器对象,且有子对象;蓝色为空容器;白色为原生显示对象等,在实际应用中,可根据具体情况设置区别各个显示对象的方式,此处不做具体限定。
如图4c所示,为调试工具的菜单示意图,调试工具具有丰富的菜单,例如:可以是右键菜单,方便快捷的操作,支持快速新增的右键功能,例如:支持脚本操作对象、对象快照、属性值查看、定位源文件等功能。
如图4d所示,为获取显示对象的一个流程示意图,先启动调试工具,启动调试工具后,服务器侦听界面操作事件,例如:帧听用户以(Alt+鼠标点击)的操作动作,然后根据帧听到的操作动作通过AS3的API(例如:DisplayObjectContainer.getObjectsUnderPoint)获取鼠标下的所有显示对象,例如:显示对象A,显示对象B,显示对象N等,并将所有显示对象展示在应用界面上,可以直接选定应用界面上的某个显示对象为待调试对象。由于显示对象有对应的层级结构,以显示对象A为例,还可以是选中应用界面上的一个显示对象A后,根据该显示对象A的flash.display.DisplayObject的parent属性依次递归到显示对象A对应的flash.display.Stage父容器对象,并将显示对象A的父容器对象其展示在界面上,可以将显示对象A的父容器对象作为该待调试对象。还可以是在确定显示对象A之后,递归使用getChileAt()方法取显示对象A的子对象,例如:显示对象a,显示对象b,显示对象c,显示对象d,并将这些子对象展示在界面上,并从子对象中选定某个子对象为该待调试对象。
当选定待调试对象后,服务器可以直接根据API:flash.utils.getQualifiedClassName()获取待调试对象的目标名称,例如:待调试对象的目标名称可以是待调试对象的类名或者资源链接名等。然后通过资源链接名或者类名利用代码搜索功能查找到待调试对象对应的代码块,从而可以实现从待调试对象定位到代码,整个操作流程简单快速。
在实际应用中,如图4e所示,为网页游戏应用的调试流程示意图,整个流程包括以下步骤:
步骤1、服务器通过JSFL脚本扫描游戏库中的FLA源文件。记录下游戏的各个显示对象的目标名称(资源链接名或者类名),并根据显示对象的目标名称生成一个txt文件,后将该txt文件本地保存。
步骤2、服务器在游戏启动时加载显示对象的目标名称与FLA源文件之间的映射表。其中,服务器是通过读入这个txt文件加载显示对象的目标名称与FLA源文件之间的映射表。
步骤3、服务器获取被调试对象的目标名称。
步骤4、根据目标名称与FLA源文件之间的映射表判断是否存在被调试对象的目标名称对应的FLA源文件,若存在,执行步骤5,若不存在,结束流程。
步骤5、服务器直接定位出被调试对象对应的FLA源文件。
由于游戏运行时无法启动外部的软件Flash CS,则服务器使用.net写一个简单的侦听剪贴板粘贴事件的侦听器软件。如图4f,为侦听器软件的一个功能示意图,该侦听器软件用于在游戏的运行过程中,协助定位显示对象的源文件,以方便检测根据显示对象的源文件检测显示对象是否存在漏洞等。例如:当在游戏运行中点击右键菜单打开FLA源文件时,将指定格式的路径复制到系统剪贴板,.net软件侦听到这个粘贴事件,检测粘贴的文字,然后启动对应的Flash CS软件,直接定位到选中的FLA源文件。
另外,在游戏加入国际化时,常常需要进行多语言之间转换,例如:将中文版的游戏文字转换成英语,葡语等他国语言。如图4g所示,为多语言转换的一个界面图,在游戏中加入多语言参照对比工具,通过快捷键进行多语言之间转换的打开或者关闭,当鼠标移动到有文字的显示对象时,左下角显示对应的文字,在制作国际化版本翻译时,,如图4h所示,为多语言翻译的一个翻译示意图,保存了中文和他国语言(例如:英语)的翻译表,然后在游戏启动时加载进来,建立中文和对应语言之间的对应关系,然后利用AS3的API,当鼠标滑过文本时,提取文本中的文字,查找到对应的中文。可见,多语言自动翻译定位插件可以快速检索到本地文字对应的中文翻译及其翻译表的KEY,可以轻松体验或测试不熟悉语言的游戏,也可以快速修改翻译结果。
经测试数据显示,本发明的技术方案中涉及的调试工具对于修改游戏的BUG效率有巨大的提升。以火影online国际版这款游戏为例,该游戏制作一个大版本平均产生300个BUG,每个BUG需要定位2次,如果人工来定位查找,需要平均耗时1分钟,而调试工具只需要点击一下,几乎耗时为0,相当于每个BUG修改时间减少2分钟,每个大版本300个BUG,就可以减少300x2=600分钟,就是10个小时的工作量,对于网页游戏的开发效率有着显著的提升。
为便于更好的实施本发明实施例的上述相关方法,下面还提供用于配合上述方法的相关装置。
请参阅图5,本发明实施例中应用的调试装置500的一个结构示意图,该应用的调试装置包括:获取模块501,确定模块502和调试模块503。
获取模块501,用于获取目标应用的应用程序编程接口API,其中,所述目标应用处于运行状态,所述目标应用中嵌入有目标编程语言;
确定模块502,用于根据所述目标应用的API确定所述目标应用的待调试对象;
所述获取模块501,还用于获取所述待调试对象对应的目标名称,其中,所述待调试对象对应的目标名称与源文件之间存在对应关系;
所述确定模块502,还用于根据所述待调试对象的目标名称与源文件之间的对应关系确定所述待调试对象的源文件;
调试模块503,用于根据所述待调试对象的源文件对所述待调试对象进行调试。
在一些可能的实现方式中,所述确定模块502具体用于根据所述目标应用的API确定所述目标应用的第一层显示对象,其中,所述第一层显示对象至少有一个;从所述第一层显示对象中选取至少一个确定为所述目标应用的待调试对象。
在一些可能的实现方式中,所述确定模块502具体用于根据所述目标应用的API确定所述目标应用的第一层显示对象,其中,所述第一层显示对象至少有一个;根据所述第一层显示对象的层级结构获取所述第一层显示对象对应的第二层显示对象,其中,所述第二层显示对象至少有一个,所述第二层显示对象为所述第一层显示对象的上层显示对象;从所述第二层显示对象中选取至少一个确定为所述目标应用的待调试对象。
在一些可能的实现方式中,所述确定模块502具体用于根据所述目标应用的API确定所述目标应用的第一层显示对象,其中,所述第一层显示对象至少有一个;根据所述第一层显示对象的层级结构获取所述第一层显示对象对应的第三层显示对象,其中,所述第三层显示对象至少有一个,所述第三层显示对象为所述第一层显示对象对应的下层显示对象;从所述第三层显示对象中选取至少一个确定为所述目标应用的待调试对象。
在一些可能的实现方式中,所述目标应用为网页游戏应用。
在图5所示应用的调试装置的基础上,请参阅图6,所述应用的调试装置500还包括:
所述获取模块501,还用于所述确定模块根据所述待调试对象的目标名称与源文件之间的对应关系确定所述待调试对象的源文件之前,获取所述目标应用的全部显示对象;获取所述每个显示对象对应的源文件;
所述确定模块502,还用于确定每个显示对象与源文件之间的对应关系;
保存模块504,用于将所述每个显示对象与源文件之间的对应关系进行本地保存。
在图5所示应用的调试装置的基础上,请参阅图7,所述应用的调试装置还包括:
转换模块505,用于所述调试模块根据所述待调试对象的源文件对所述待调试对象进行调试之前,若所述目标应用对应的文字信息为第一语言文字,则通过所述目标应用的API将所述第一语言文字转换成第二语言文字。
在图6所示应用的调试装置的基础上,请参阅图8,所述应用的调试装置还包括:
转换模块505,用于所述调试模块根据所述待调试对象的源文件对所述待调试对象进行调试之前,若所述目标应用对应的文字信息为第一语言文字,则通过所述目标应用的API将所述第一语言文字转换成第二语言文字。
与现有技术不同的是,首先获取模块501获取处于运行状态的目标应用的API,其中,该目标应用中嵌入有目标编程语言,这样,确定模块502就可以根据该目标应用的API确定该目标应用的待调试对象,并根据该待调试对象对应的目标名称以及该目标名称与源文件之间的对应关系确定该待调试对象的源文件,这样调试模块503就可以根据该待调试对象的源文件对该待调试对象进行调试。整个应用的调试过程简单快速,从而有效提高应用的调试效率。
请参阅图9,对本发明涉及的应用的调试装置的具体结构进行介绍,所述应用的调试装置900包括:有线或者无线网络接口910、存储器920、处理器930等部件。本领域技术人员可以理解,图9中示出的应用的调试装置900的结构并不构成对应用的调试装置的限定,可以包括比图9更多或更少的部件,或者组合某些部件,或者不同的部件布置。
有线或者无线网络接口910可用于收发信息,例如:信号的接收和发送。有线或者无线网络接口910通过无线通信与UE等其他设备通信,无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(英文全称:Global System of Mobilecommunication,缩写:GSM)、通用分组无线服务(英文全称:General Packet RadioService,缩写:GPRS)、码分多址(英文全称:Code Division Multiple Access,缩写:CDMA)、宽带码分多址(英文全称:Wideband Code Division Multiple Access,缩写:WCDMA)、长期演进(英文全称:Long Term Evolution,缩写:LTE)、电子邮件、短消息服务(英文全称:Short Messaging Service,缩写:SMS)等。
存储器920可用于存储一个或多个程序,处理器930通过运行存储在存储器920的一个或多个程序,从而执行应用的调试装置900的各种功能应用以及数据处理。
所述处理器930用于执行如下步骤:
获取目标应用的应用程序编程接口API,其中,所述目标应用处于运行状态,所述目标应用中嵌入有目标编程语言;
根据所述目标应用的API确定所述目标应用的待调试对象;
获取所述待调试对象对应的目标名称,其中,所述待调试对象对应的目标名称与源文件之间存在对应关系;
根据所述待调试对象的目标名称与源文件之间的对应关系确定所述待调试对象的源文件;
根据所述待调试对象的源文件对所述待调试对象进行调试。
在一些可能的实现方式中,所述处理器930还用于执行如下步骤:
根据所述目标应用的API确定所述目标应用的第一层显示对象,其中,所述第一层显示对象至少有一个;
从所述第一层显示对象中选取至少一个确定为所述目标应用的待调试对象。
在一些可能的实现方式中,所述处理器930还用于执行如下步骤:
根据所述目标应用的API确定所述目标应用的第一层显示对象,其中,所述第一层显示对象至少有一个;
根据所述第一层显示对象的层级结构获取所述第一层显示对象对应的第二层显示对象,其中,所述第二层显示对象至少有一个,所述第二层显示对象为所述第一层显示对象的上层显示对象;
从所述第二层显示对象中选取至少一个确定为所述目标应用的待调试对象。
在一些可能的实现方式中,所述处理器930还用于执行如下步骤:
根据所述目标应用的API确定所述目标应用的第一层显示对象,其中,所述第一层显示对象至少有一个;
根据所述第一层显示对象的层级结构获取所述第一层显示对象对应的第三层显示对象,其中,所述第三层显示对象至少有一个,所述第三层显示对象为所述第一层显示对象对应的下层显示对象;
从所述第三层显示对象中选取至少一个确定为所述目标应用的待调试对象。
在一些可能的实现方式中,所述处理器930还用于执行如下步骤:
根据所述待调试对象的目标名称与源文件之间的对应关系确定所述待调试对象的源文件之前,获取所述目标应用的全部显示对象;
获取所述每个显示对象对应的源文件;
确定每个显示对象与源文件之间的对应关系,并进行本地保存。
在一些可能的实现方式中,所述处理器930还用于执行如下步骤:
根据所述待调试对象的源文件对所述待调试对象进行调试之前,若所述目标应用对应的文字信息为第一语言文字,则通过所述目标应用的API将所述第一语言文字转换成第二语言文字。
在一些可能的实现方式中,所述目标应用为网页游戏应用。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (14)
1.一种应用的调试方法,其特征在于,包括:
获取目标应用的应用程序编程接口API,其中,所述目标应用处于运行状态,所述目标应用中嵌入有目标编程语言;
根据所述目标应用的API确定所述目标应用的待调试对象;
获取所述待调试对象对应的目标名称,其中,所述待调试对象对应的目标名称与源文件之间存在对应关系;
根据所述待调试对象的目标名称与源文件之间的对应关系确定所述待调试对象的源文件;
根据所述待调试对象的源文件对所述待调试对象进行调试。
2.根据权利要求1所述的方法,其特征在于,所述根据所述目标应用的API确定所述目标应用的待调试对象包括:
根据所述目标应用的API确定所述目标应用的第一层显示对象,其中,所述第一层显示对象至少有一个;
从所述第一层显示对象中选取至少一个确定为所述目标应用的待调试对象。
3.根据权利要求1所述的方法,其特征在于,所述根据所述目标应用的API确定所述目标应用的待调试对象包括:
根据所述目标应用的API确定所述目标应用的第一层显示对象,其中,所述第一层显示对象至少有一个;
根据所述第一层显示对象的层级结构获取所述第一层显示对象对应的第二层显示对象,其中,所述第二层显示对象至少有一个,所述第二层显示对象为所述第一层显示对象的上层显示对象;
从所述第二层显示对象中选取至少一个确定为所述目标应用的待调试对象。
4.根据权利要求1所述的方法,其特征在于,所述根据所述目标应用的API确定所述目标应用的待调试对象包括:
根据所述目标应用的API确定所述目标应用的第一层显示对象,其中,所述第一层显示对象至少有一个;
根据所述第一层显示对象的层级结构获取所述第一层显示对象对应的第三层显示对象,其中,所述第三层显示对象至少有一个,所述第三层显示对象为所述第一层显示对象对应的下层显示对象;
从所述第三层显示对象中选取至少一个确定为所述目标应用的待调试对象。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述根据所述待调试对象的目标名称与源文件之间的对应关系确定所述待调试对象的源文件之前,所述方法还包括:
获取所述目标应用的全部显示对象;
获取所述每个显示对象对应的源文件;
确定每个显示对象与源文件之间的对应关系,并进行本地保存。
6.根据权利要求1至4任一项所述的方法,其特征在于,根据所述待调试对象的源文件对所述待调试对象进行调试之前,所述方法还包括:
若所述目标应用对应的文字信息为第一语言文字,则通过所述目标应用的API将所述第一语言文字转换成第二语言文字。
7.根据权利要求1至4任一项所述的方法,其特征在于,所述目标应用为网页游戏应用。
8.一种应用的调试装置,其特征在于,包括:
获取模块,用于获取目标应用的应用程序编程接口API,其中,所述目标应用处于运行状态,所述目标应用中嵌入有目标编程语言;
确定模块,用于根据所述目标应用的API确定所述目标应用的待调试对象;
所述获取模块,还用于获取所述待调试对象对应的目标名称,其中,所述待调试对象对应的目标名称与源文件之间存在对应关系;
所述确定模块,还用于根据所述待调试对象的目标名称与源文件之间的对应关系确定所述待调试对象的源文件;
调试模块,用于根据所述待调试对象的源文件对所述待调试对象进行调试。
9.根据权利要求8所述的应用的调试装置,其特征在于,所述确定模块具体用于根据所述目标应用的API确定所述目标应用的第一层显示对象,其中,所述第一层显示对象至少有一个;从所述第一层显示对象中选取至少一个确定为所述目标应用的待调试对象。
10.根据权利要求8所述的应用的调试装置,其特征在于,所述确定模块具体用于根据所述目标应用的API确定所述目标应用的第一层显示对象,其中,所述第一层显示对象至少有一个;根据所述第一层显示对象的层级结构获取所述第一层显示对象对应的第二层显示对象,其中,所述第二层显示对象至少有一个,所述第二层显示对象为所述第一层显示对象的上层显示对象;
从所述第二层显示对象中选取至少一个确定为所述目标应用的待调试对象。
11.根据权利要求8所述的应用的调试装置,其特征在于,所述确定模块具体用于根据所述目标应用的API确定所述目标应用的第一层显示对象,其中,所述第一层显示对象至少有一个;根据所述第一层显示对象的层级结构获取所述第一层显示对象对应的第三层显示对象,其中,所述第三层显示对象至少有一个,所述第三层显示对象为所述第一层显示对象对应的下层显示对象;从所述第三层显示对象中选取至少一个确定为所述目标应用的待调试对象。
12.根据权利要求8至11任一项所述的应用的调试装置,其特征在于,所述应用的调试装置还包括:
所述获取模块,还用于所述确定模块根据所述待调试对象的目标名称与源文件之间的对应关系确定所述待调试对象的源文件之前,获取所述目标应用的全部显示对象;获取所述每个显示对象对应的源文件;
所述确定模块,还用于确定每个显示对象与源文件之间的对应关系;
保存模块,用于将所述每个显示对象与源文件之间的对应关系进行本地保存。
13.根据权利要求8至11任一项所述的应用的调试装置,其特征在于,所述应用的调试装置还包括:
转换模块,用于所述调试模块根据所述待调试对象的源文件对所述待调试对象进行调试之前,若所述目标应用对应的文字信息为第一语言文字,则通过所述目标应用的API将所述第一语言文字转换成第二语言文字。
14.根据权利要求8至11任一项所述的应用的调试装置,其特征在于,所述目标应用为网页游戏应用。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610938970.5A CN107977307B (zh) | 2016-10-25 | 2016-10-25 | 一种应用的调试方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610938970.5A CN107977307B (zh) | 2016-10-25 | 2016-10-25 | 一种应用的调试方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107977307A true CN107977307A (zh) | 2018-05-01 |
CN107977307B CN107977307B (zh) | 2021-02-09 |
Family
ID=62005139
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610938970.5A Active CN107977307B (zh) | 2016-10-25 | 2016-10-25 | 一种应用的调试方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107977307B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109213519A (zh) * | 2018-09-14 | 2019-01-15 | 北京数聚鑫云信息技术有限公司 | 一种异构api适配处理方法及系统 |
CN110955604A (zh) * | 2019-12-04 | 2020-04-03 | 米哈游科技(上海)有限公司 | 一种信息显示方法、装置、服务器及存储介质 |
CN112131869A (zh) * | 2020-09-02 | 2020-12-25 | 苏州好玩友网络科技有限公司 | 基于多语言的文本检测方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0965921A2 (en) * | 1998-06-19 | 1999-12-22 | Lucent Technologies Inc. | Distributed indirect software instrumentation |
CN101470705A (zh) * | 2007-12-29 | 2009-07-01 | 英业达股份有限公司 | 动态网页翻译系统及方法 |
CN101719093A (zh) * | 2009-12-09 | 2010-06-02 | 上海普元信息技术有限责任公司 | 企业Web应用系统中实现跨浏览器Javascript调试的系统及其方法 |
CN101739333A (zh) * | 2008-11-25 | 2010-06-16 | 国际商业机器公司 | 应用程序的调试方法、调试工具及调试装置 |
CN103870385A (zh) * | 2012-12-13 | 2014-06-18 | 腾讯科技(北京)有限公司 | 调试flash动画的方法和flash动画在线调试系统 |
-
2016
- 2016-10-25 CN CN201610938970.5A patent/CN107977307B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0965921A2 (en) * | 1998-06-19 | 1999-12-22 | Lucent Technologies Inc. | Distributed indirect software instrumentation |
CN101470705A (zh) * | 2007-12-29 | 2009-07-01 | 英业达股份有限公司 | 动态网页翻译系统及方法 |
CN101739333A (zh) * | 2008-11-25 | 2010-06-16 | 国际商业机器公司 | 应用程序的调试方法、调试工具及调试装置 |
CN101719093A (zh) * | 2009-12-09 | 2010-06-02 | 上海普元信息技术有限责任公司 | 企业Web应用系统中实现跨浏览器Javascript调试的系统及其方法 |
CN103870385A (zh) * | 2012-12-13 | 2014-06-18 | 腾讯科技(北京)有限公司 | 调试flash动画的方法和flash动画在线调试系统 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109213519A (zh) * | 2018-09-14 | 2019-01-15 | 北京数聚鑫云信息技术有限公司 | 一种异构api适配处理方法及系统 |
CN109213519B (zh) * | 2018-09-14 | 2020-01-03 | 北京数聚鑫云信息技术有限公司 | 一种异构api适配处理方法及系统 |
CN110955604A (zh) * | 2019-12-04 | 2020-04-03 | 米哈游科技(上海)有限公司 | 一种信息显示方法、装置、服务器及存储介质 |
CN112131869A (zh) * | 2020-09-02 | 2020-12-25 | 苏州好玩友网络科技有限公司 | 基于多语言的文本检测方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107977307B (zh) | 2021-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1181428C (zh) | 软件翻译的内省编辑器系统、程序和方法 | |
CN1120416C (zh) | 采用外观类进行软件翻译的内观编辑器系统和方法 | |
KR100876606B1 (ko) | 이기종간 연동형 프로그램 개발 방법 및 그 개발 장치 | |
US7398474B2 (en) | Method and system for a digital device menu editor | |
Burnette | Hello, Android introducing Google's mobile development platform: 2nd | |
US6735759B1 (en) | Editing system for translating displayed user language using a wrapper class | |
US10191832B2 (en) | Multi-language playback framework | |
JPH07104765B2 (ja) | コンピュータ駐在ソフトウエアシステムに対するユーザインタフェースとしての電子的ドキュメント | |
CN107977307A (zh) | 一种应用的调试方法及装置 | |
CN110162457A (zh) | 用户界面的测试方法、装置、设备及存储介质 | |
CN100474290C (zh) | 在预引导环境中显示语言特定文本串的方法和装置 | |
Rossini et al. | Emacs speaks statistics: A multiplatform, multipackage development environment for statistical analysis | |
CN112214271A (zh) | 页面引导方法、装置和电子设备 | |
Panigrahy | Xamarin Mobile Application Development for Android | |
Lewis et al. | Native mobile development: a cross-reference for iOS and Android | |
CN111971655A (zh) | 用于超文本标记语言图形内容的本机运行时技术 | |
CN111459483B (zh) | 界面的处理方法和装置 | |
Jackson | Pro Android UI | |
CN109992514B (zh) | 基于可视化内容的移动应用动态分析方法 | |
CN113268221A (zh) | 文件匹配方法、装置、存储介质及计算机设备 | |
US20030090453A1 (en) | Method and apparatus for localizing graphics | |
Campesato | Android: Pocket Primer | |
Mawlood-Yunis | Your first Android application | |
CN117632746A (zh) | 一种插桩处理方法、装置、存储介质及电子设备 | |
King | Porting your app |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |