[发明专利]一种调试程序的方法、电子设备及存储介质有效
| 申请号: | 202110172531.9 | 申请日: | 2021-02-08 |
| 公开(公告)号: | CN112988570B | 公开(公告)日: | 2023-03-10 |
| 发明(设计)人: | 请求不公布姓名 | 申请(专利权)人: | 芯华章科技股份有限公司 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36 |
| 代理公司: | 北京风雅颂专利代理有限公司 11403 | 代理人: | 李莎 |
| 地址: | 211800 江苏省南京*** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 调试 程序 方法 电子设备 存储 介质 | ||
本公开提供了一种调试程序的方法、电子设备及存储介质。该方法包括:获取所述程序的可执行文件中的全局偏移表以及与所述程序相关联的多个动态函数;在所述全局偏移表中确定所述多个动态函数中的第一动态函数的第一地址;获取用于替换所述第一动态函数的第二动态函数的第二地址;更新所述全局偏移表以将所述全局偏移表中的所述第一地址替换为所述第二地址;以及基于所述更新的全局偏移表执行所述可执行文件。
技术领域
本公开涉及数字信息技术领域,尤其涉及一种调试程序的方法、电子设备及存储介质。
背景技术
程序在运行过程中可能需要对某些函数进行调整。通常的做法是先将程序下线,再对程序进行函数的调整后再重新上线。但是,对于一些需要持续运行的程序,程序下线成本非常高昂。
如何在保持程序运行的同时动态地实现旧函数的下线和新函数的上线是一个亟待解决的问题。
类似的问题还存在于程序调试。程序调试是指编写好的程序设计在投入实际运行之前,用手工或编译程序等方法将程序设计的源代码送入计算机中进行仿真测试,以确定程序设计中的错误或低效的问题代码,针对问题进行修正优化更新,进而能够保证程序正常高效运行。
例如仿真测试时可以调用profile函数在程序运行过程中按照一定时间间隔发送监测信号来采集程序的运行信息(如采样时的函数调用栈、栈顶函数等),以此计算各项运行指标(如函数的调用次数、占总执行时间的百分比等)来确定程序中各个代码段的运行效率。
在调用profile函数发送监测信号采集程序运行信息时会中断程序运行,然而程序运行过程中会通过调用动态函数实现各种函数功能,在调用一些动态函数如fork函数、vfork函数等系统函数时,这些系统函数在运行过程中一旦被监测信号中断,整个程序运行就有可能报错,导致对程序的监测调试无法正常执行。
因此,需要在不中断程序调试的前提下,对相关动态函数做出调整以确保profile函数的正常运行。
发明内容
有鉴于此,本公开提出了一种调试程序的方法、电子设备及存储介质。
本公开第一方面,提供了一种调试程序的方法,所述方法包括:获取所述程序的可执行文件中的全局偏移表以及与所述程序相关联的多个动态函数;在所述全局偏移表中确定所述多个动态函数中的第一动态函数的第一地址;获取用于替换所述第一动态函数的第二动态函数的第二地址;更新所述全局偏移表以将所述全局偏移表中的所述第一地址替换为所述第二地址;以及基于所述更新的全局偏移表执行所述可执行文件。
本公开第二方面,提供了一种电子设备,包括:存储器,用于存储一组指令;以及至少一个处理器,配置为执行该组指令以进行第一方面所述的方法。
本公开的第三方面,提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储电子装置的一组指令,该组指令用于使所述电子装置执行第一方面所述的方法。
从上面所述可以看出,本公开提供的调试程序的方法、电子设备及存储介质,通过获取用于替换第一动态函数的第二动态函数的第二地址,更新全局偏移表以将全局偏移表中第一动态函数的第一地址替换为所述第二地址,在程序运行时基于更新后的全局偏移表来执行程序的可执行文件,可以根据全局偏移表中的第二地址调用第二动态函数,采用这样的方式能够在保证程序运行的同时动态地实现旧函数的下线和新函数的上线,进一步的还能够保证程序中监测函数的正常运行。
附图说明
为了更清楚地说明本公开或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1A示出了根据本公开实施例的一种电子设备的结构示意图。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于芯华章科技股份有限公司,未经芯华章科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110172531.9/2.html,转载请声明来源钻瓜专利网。





