【技术实现步骤摘要】
跟踪和调试的方法、装置及系统
本专利技术涉及移动终端
,特别涉及一种跟踪和调试的方法、装置及系统。
技术介绍
随着移动通信电子技术的发展,如今移动终端已经不单具有远程通话的功能,许多个人电脑上的应用程序功能都可以通过移动终端来实现,如用户可以通过手机的浏览器浏览网页内容、通过手机上播放器播放视频和音乐、通过手机上的文档处理工具编辑文档等。目前,移动终端的应用程序出现问题(比如程序崩溃或者出现异常等)的话,如果要对其进行调试,首先要对出错的程序进行跟踪,获得应用程序运行的系统日志文件,并通过当前的环境数据来确定问题所在。以Android(安卓)手机下的应用程序为例,出现问题时一般会通过以下过程跟踪问题:(1)使用Android系统提供的日志API(ApplicationProgrammingInterface,应用程序编程接口)或者其自身定义的格式输出到日志文件中。为了可以确定问题所在,需要输出尽量详细的日志,跟踪过程中功收集的是所有调用过的入口函数的时间相关的性能参数。(2)使用Android系统提供的Debug类(指排除程序故障的一组对象)实现打开调试跟踪功能。现有的跟踪过程是通过注入并修改系统服务(system_server),而非修改程序自身的具体入口函数,需要root权限(超级用户权限,即可以修改系统中的任何文件而不受限制)。(3)如果出现的问题是可预期的Java异常(Java异常是指在Java语言中的异常),则输出其调用栈到日志文件中;(4)如果出现的问题是不可预期的异常(导致程序非预期退出的异常,包括Java异常和Native异常,Nat ...
【技术保护点】
一种跟踪和调试的方法,其特征在于,包括:接收云端发送来的控制指令;根据所述控制指令动态跟踪目标应用的运行,并获取运行参数;将跟踪获得的运行参数通过云端输出给调试监控服务器;接收调试监控服务器通过云端发送来的根据所述运算参数设定调试命令;运行所述调试命令,对目标应用进行调试;将调试数据通过云端发送给调试监控服务器。
【技术特征摘要】
1.一种跟踪和调试的方法,其特征在于,包括:接收云端发送来的控制指令;根据所述控制指令动态跟踪目标应用的运行,其中,调用针对目标应用预先设置的跟踪函数来记录原函数运行前和运行后的环境参数,通过结合所述跟踪函数两次收集的数据获取运行参数;将跟踪获得的运行参数通过云端输出给调试监控服务器;接收调试监控服务器通过云端发送来的根据运算参数设定调试命令;运行所述调试命令,对目标应用进行调试;将调试数据通过云端发送给调试监控服务器;其中,所述调用针对目标应用预先设置的跟踪函数的步骤包括:检测操作系统版本;比较各操作系统版本的关键结构体并提取公共部分,以根据操作系统版本调用相应函数符号的跟踪函数。2.如权利要求1所述的跟踪和调试的方法,其特征在于,所述根据所述控制指令动态跟踪目标应用的运行的步骤包括:在原函数开始运行前,通过控制指令修改入口函数指针,并调用针对目标应用预先设置的跟踪函数;执行跟踪函数的逻辑;通过跟踪函数还原入口函数指针,并调用原函数;在原函数运行完成时,通过控制指令修改入口函数指针,并调用针对目标应用预先设置的跟踪函数;执行跟踪函数的逻辑,实现对原函数运行参数的记录。3.如权利要求1所述的跟踪和调试的方法,其特征在于,所述根据所述控制指令动态跟踪目标应用的运行的步骤包括:预先将原函数保存在指令成员变量中;在原函数开始运行前,通过所述控制指令修改入口函数指针,并调用针对目标应用预先设置的跟踪函数;执行跟踪函数的逻辑;通过跟踪函数调用指令成员变量中的原函数;在原函数运行完成时,通过控制指令控制执行跟踪函数的逻辑,实现对原函数运行参数的记录。4.如权利要求1所述的跟踪和调试的方法,其特征在于,所述接收云端发送来的控制指令的步骤之前还包括:通过云端向调试监控服务器发送用于验证身份的标识码。5.如权利要求4所述的跟踪和调试的方法,其特征在于,所述标识码可以是国际移动设备身份码、验证过的即时通信帐号、验证过的手机号码、临时生成的易输入号码中的一种或多种。6.一种跟踪和调试的装置,其特征在于,包括:控制指令接收模块,用于接收云端发送来的控制指令;跟踪模块,用于根据所述控制指令动态跟踪目标应用的运行,其中,调用针对目标应用预先设置的跟踪函数来记录原函数运行前和运行后的环境参数,通过结合所述跟踪函数两次收集的数据获取运行参数;运行参数输出模块,用于将跟踪获得的运行参数通过云端输出给调试监控服务器;调试命令接收模块,用于接收调试监控服务器通过云端发送来的根据运算参数设定调试命令;调试模块,用于运行所述调试命令,对目标应用进行调试;调试数据发送模块,用于将调试数据通过云端发送给调试监控服务器;其中,所述跟踪模块包括:检测单元,用于检测操作系统版本,比较各操作系统版本的关键结构体并提取公共部分,以根据操作系统版本调用相应函数符号的跟踪函数。7.如权利要求6所述的跟踪和调试的装置,其特征在于,所述跟踪模块进一步包括:第一跟踪函数调用单元,用于在原函数开始运行前,通过控制指令修改入口函数指针,并调用针对目标应用预先设置的跟踪函数;第一执行单元,用于在第一跟踪函数调用单元调用跟踪函数时,执行跟踪函数的逻辑;还原单元,用于通过跟踪函数还原入口函数指针,并调用原函数;第二跟踪函数调用单元,用于在原函数运行完成时,通过控制指令修改入口函数指针,并调用针对目标应用预先设置的跟踪函数;第二执行单元,用于在第二跟踪函数调用单元调用跟踪函数时,执行跟踪函数的逻辑,实现对原函数运行参数的记录。8.如权利要求6所述的跟...
【专利技术属性】
技术研发人员:郭浩然,梁家辉,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。