[发明专利]获取日志的方法及装置、存储介质、电子装置在审
申请号: | 201811076537.0 | 申请日: | 2018-09-14 |
公开(公告)号: | CN109376074A | 公开(公告)日: | 2019-02-22 |
发明(设计)人: | 钱毅 | 申请(专利权)人: | 浙江口碑网络技术有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F16/901;G06F16/9032 |
代理公司: | 北京中强智尚知识产权代理有限公司 11448 | 代理人: | 黄耀威 |
地址: | 310012 浙江省杭州市西*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 源输出 目标输出 日志信息 存储介质 电子装置 应用程序 日志 应用程序调用 函数获取 函数替换 调取 跳转 打印 | ||
本发明提供了一种获取日志的方法及装置、存储介质、电子装置,其中,该方法包括:在启动应用程序后,将所述应用程序的源输出函数替换成目标输出函数,其中,所述源输出函数是用于打印日志信息的c函数,所述目标输出函数是hook所述源输出函数的c方法;在所述应用程序调用所述源输出函数时,从所述源输出函数跳转到所述目标输出函数;使用所述目标输出函数获取日志信息。通过本发明,解决了相关技术中调取日志信息效率低的技术问题。
技术领域
本发明涉及计算机领域,具体而言,涉及一种获取日志的方法及装置、存储介质、电子装置。
背景技术
日志信息(log)是测试和调试应用程序过程中常用的文件,可以用于发现和定位问题,如,在iOS开发或测试过程中,需要去看自定义的调试信息或者系统log来辅助调式和定位相关问题。
相关技术中,是通过用Xcode下的console log窗口台来展示NSLog打印的内容,其缺点是要必须连接电脑,需要安装Xcode来展示,如果离开了电脑,离开了Xcode就不能获得运行时的log,不便捷,效率低,时效性要求高。相关技术中的另一种方案是苹果公司已经提供了读取Log的ALS api,可以通过asl_search并设置参数来查询log文件,如公开号为CN105204789B的申请文件,公开了一种使用API调试日志打印的方法,相关技术的问题是asl_search接口在iOS 10.0后已废弃,在iOS 10.0后调用返回的结果为空,导致无法调取iOS10.0之后的系统的日志。
针对相关技术中存在的上述问题,目前尚未发现有效的解决方案。
发明内容
本发明实施例提供了一种获取日志的方法及装置、存储介质、电子装置。
根据本发明的一个实施例,提供了一种获取日志的方法,包括:在启动应用程序后,将所述应用程序的源输出函数替换成目标输出函数,其中,所述源输出函数是用于打印日志信息的c函数,所述目标输出函数是hook所述源输出函数的c方法;在所述应用程序调用所述源输出函数时,从所述源输出函数跳转到所述目标输出函数;使用所述目标输出函数获取日志信息。
可选的,在使用所述目标输出函数获取日志信息之后,所述方法还包括:在所述应用程序的页面上展示所述日志信息。
可选的,将所述应用程序的源输出函数替换成目标输出函数包括:使用fishhook工具将所述应用程序的源NSLog()函数替换成目标NSLog()函数,其中,所述源输出函数包括所述源NSLog()函数,所述目标输出函数包括所述目标NSLog()函数。
可选的,使用fishhook工具将所述应用程序的源NSLog()函数替换成目标NSLog()函数包括:修改所述源NSLog()函数的函数指针,将所述函数指针指向到所述目标NSLog()函数。
可选的,从所述源输出函数跳转到所述目标输出函数包括:从间接地址表获取符号表索引;通过所述符号表索引得到所述源输出函数对应的符号表表项;通过所述符号表表项查找所述源输出函数的函数名在字符串表的字符串表索引;通过所述字符串表和所述字符串表索引查找所述目标输出函数的函数名;在所述源输出函数的函数名和所述目标输出函数的函数名匹配时,将所述源输出函数的函数表项目替换为所述目标输出函数的函数表项目。
可选的,使用所述目标输出函数获取日志信息包括:使用所述c方法打印所述应用程序的日志信息;在所述c方法内获取所述日志信息。
可选的,在所述应用程序的页面上展示所述日志信息包括:在所述应用程序的debug页面上展示所述日志信息。
可选的,在所述应用程序的页面上展示所述日志信息之后,所述方法包括:在所述应用程序的LogView中接收关键字;以所述关键字为条目过滤所述日志信息,并在所述LogView上展示过滤后的日志信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江口碑网络技术有限公司,未经浙江口碑网络技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811076537.0/2.html,转载请声明来源钻瓜专利网。