[发明专利]程序的处理方法、装置、电子设备及存储介质有效
申请号: | 201710758336.8 | 申请日: | 2017-08-29 |
公开(公告)号: | CN109426504B | 公开(公告)日: | 2021-11-19 |
发明(设计)人: | 余银;彭飞;黄文君 | 申请(专利权)人: | 龙芯中科技术股份有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F11/36 |
代理公司: | 北京润泽恒知识产权代理有限公司 11319 | 代理人: | 莎日娜 |
地址: | 100095 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 程序 处理 方法 装置 电子设备 存储 介质 | ||
1.一种程序的处理方法,其特征在于,所述程序用于生成即时编译器,所述方法包括:
在所述程序的编译过程中,根据所述程序中的跳转指令,记录对应的编译器调用信息,所述编译器调用信息用于确定所述跳转指令对应的各调用函数之间的调用关系;
在执行所述跳转指令的过程中,记录对应的执行流信息,所述执行流信息用于确定所述跳转指令的执行轨迹;
根据所述编译器调用信息和所述执行流信息,确定所述编译器调用信息与所述执行流信息之间的对应关系,生成所述程序的调试信息;其中,所述调试信息用于确定所述程序运行失败的出错位置;
在所述程序运行失败后,基于内存区域中的数据信息进行输出;其中,所述数据信息包括所述调试信息。
2.根据权利要求1所述的方法,其特征在于,所述根据所述程序中的跳转指令,记录对应的编译器调用信息,包括:
在编译跳转指令时,生成所述跳转指令对应的函数调用指令,所述函数调用指令调用的函数参数包含所述跳转指令的标识信息;
根据所述标识信息,获取所述跳转指令对应的编译器调用信息。
3.根据权利要求1所述的方法,其特征在于,所述在执行所述跳转指令的过程中,记录对应的执行流信息,包括:
在执行所述程序中各跳转指令时,分别获取各跳转指令当前所在的内存位置;
根据所述内存位置,记录对应的执行流信息。
4.根据权利要求2所述的方法,其特征在于,所述根据所述编译器调用信息和所述执行流信息,生成对应的调试信息,包括:
基于所述标识信息,确定所述编译器调用信息与所述执行流信息的对应关系;
基于所述对应关系生成对应的调试信息。
5.根据权利要求1至4任一所述的方法,其特征在于,所述方法还包括:
根据预置分配信息,设置所述内存区域,所述内存区域用于存储所述数据信息,所述数据信息还包括以下至少一种:所述编译器调用信息和所述执行流信息。
6.一种程序的处理装置,其特征在于,所述程序用于生成即时编译器,所述装置包括:
调用信息记录模块,用于在所述程序的编译过程中,根据所述程序中的跳转指令,记录对应的编译器调用信息,所述编译器调用信息用于确定所述跳转指令对应的各调用函数之间的调用关系;
执行流信息记录模块,用于在执行所述跳转指令的过程中,记录对应的执行流信息,所述执行流信息用于确定所述跳转指令的执行轨迹;
结果信息生成模块,用于根据所述编译器调用信息和所述执行流信息,确定所述编译器调用信息与所述执行流信息之间的对应关系,生成所述程序的调试信息;其中,所述调试信息用于确定所述程序运行失败的出错位置;
数据信息打印模块,用于在所述程序运行失败后,基于内存区域中的数据信息进行打印;其中,所述数据信息包括所述调试信息。
7.根据权利要求6所述的装置,其特征在于,所述调用信息记录模块,包括:
调用指令生成子模块,用于在编译跳转指令时,生成所述跳转指令对应的函数调用指令,所述函数调用指令调用的函数参数包含所述跳转指令的标识信息;
信息获取子模块,用于根据所述标识信息,获取所述跳转指令对应的编译器调用信息。
8.根据权利要求6所述的装置,其特征在于,所述执行流信息记录模块,包括:
内存位置获取子模块,用于在执行所述程序中各跳转指令时,分别获取各跳转指令当前所在的内存位置;
执行流信息记录子模块,用于根据所述内存位置,记录对应的执行流信息。
9.根据权利要求7所述的装置,其特征在于,所述结果信息生成模块,包括:
对应关系创建子模块,用于基于所述标识信息,确定所述编译器调用信息与所述执行流信息的对应关系;
结果信息生成子模块,用于基于所述对应关系生成对应的调试信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于龙芯中科技术股份有限公司,未经龙芯中科技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710758336.8/1.html,转载请声明来源钻瓜专利网。