欢迎来到知嘟嘟! 联系电话:13095918853 卖家免费入驻,海量在线求购! 卖家免费入驻,海量在线求购!
知嘟嘟
我要发布
联系电话:13095918853
知嘟嘟经纪人
收藏
专利号: 2017107743507
申请人: 武汉斗鱼网络科技有限公司
专利类型:发明专利
专利状态:已下证
专利领域: 计算;推算;计数
更新日期:2024-02-23
缴费截止日期: 暂无
价格&联系人
年费信息
委托购买

摘要:

权利要求书:

1.一种程序日志写入文件的方法,其特征在于,包括:

S1:获取程序中所有Mach-o文件及每个Mach-o文件所对应的内存起始地址,并根据内存起始地址获取Mach-o文件在内存中的虚拟内存地址;

S2:根据Mach-o文件在内存中的虚拟内存地址,解析Mach-o文件,得到每个Mach-o文件内每个函数的名称和指针,遍历每个函数的名称,找到每个Mach-o文件内的NSlog函数;

S3:编写一hook函数,所述hook函数用于获取NSlog函数的调用堆栈信息;

S4:创建一空白文件,当程序内的NSlog函数被调用时,通过编写的hook函数获取NSlog函数的调用堆栈信息,并根据获取的调用堆栈信息得到NSlog函数打印的日志,同时将得到的日志写入创建的空白文件中保存。

2.如权利要求1所述的一种程序日志写入文件的方法,其特征在于:所述hook函数用于将目标函数的内存地址进行替换成设定地址;

当目标函数执行时,跳转至设定地址以进行调用堆栈信息的获取;

所述目标函数为NSlog函数。

3.如权利要求2所述的一种程序日志写入文件的方法,其特征在于:S4中,对于NSlog函数的调用堆栈信息的获取,具体为:S401:根据Mach-o文件的虚拟内存地址和指针,获取Mach-o文件中NSlog函数的内存地址;

S402:将NSlog函数的内存地址替换成设定地址,同时保存NSlog函数的内存地址;

S403:NSlog函数跳转至设定地址,进行NSlog函数的调用堆栈信息的获取。

4.如权利要求1所述的一种程序日志写入文件的方法,其特征在于:通过iOS系统的API函数fopen将日志写入空白文件中。

5.如权利要求4所述的一种程序日志写入文件的方法,其特征在于:对于保存至空白文件中的日志,通过NSlog函数将日志在程序调试用控制台进行显示。

6.一种存储介质,该存储介质上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现权利要求1至5任一项所述的方法。

7.一种电子设备,包括存储器和处理器,存储器上储存有在处理器上运行的计算机程序,其特征在于:所述处理器执行所述计算机程序时实现权利要求1至5任一项所述的方法。

8.一种程序日志写入文件的系统,其特征在于,包括:

获取模块,其用于获取程序中的所有Mach-o文件及每个Mach-o文件所对应的内存起始地址,并根据内存起始地址获取Mach-o文件在内存中的虚拟内存地址;

解析模块,其用于根据Mach-o文件在内存中的虚拟内存地址,同时解析Mach-o文件,得到每个Mach-o文件内每个函数的名称和指针,遍历每个函数的名称,找到每个Mach-o文件内的NSlog函数,同时编写一hook函数,所述hook函数用于获取NSlog函数的调用堆栈信息;

执行模块,其用于创建一空白文件,当程序内的NSlog函数被调用时,通过编写的hook函数获取NSlog函数的调用堆栈信息,并根据获取的调用堆栈信息得到NSlog函数打印的日志,同时将得到的日志写入创建的空白文件中保存。

9.如权利要求8所述的一种程序日志写入文件的系统,其特征在于:所述hook函数用于将目标函数的内存地址进行替换成设定地址;当目标函数执行时,跳转至设定地址以进行调用堆栈信息的获取;所述目标函数为NSlog函数。

10.如权利要求8所述的一种程序日志写入文件的系统,其特征在于:通过iOS系统的API函数fopen将日志写入空白文件中。