一种编译处理方法、装置、电子设备及可读存储介质与流程

专利2026-02-02  13


本发明涉及计算机,特别是涉及一种编译处理方法、装置、电子设备以及可读存储介质。


背景技术:

1、在软件开发过程中,debug(调试)模式和release(发布)模式是编译器常见的两种工作模式。debug模式包含大量的调试信息,如变量的跟踪信息、详细的错误报告等。这些调试信息增加了编译器的工作量,导致编译过程较慢。在程序运行时,这些额外信息也需被处理和存储,进而影响程序运行的速度。相比之下,release模式在编译时会进行更多的优化处理,如移除不必要的调试信息、执行代码优化等,旨在提升程序的执行速率和效率。

2、然而,有些异常只在release模式下存在,debug模式下并无异常,而release模式下缺乏调试分析手段,导致技术人员难以定位分析问题,进而影响软件开发的质量和效率。


技术实现思路

1、鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种编译处理方法,可以在release模式下为技术人员提供调试分析目标函数的手段,从而可以进一步提高软件开发的质量和效率。

2、相应的,本发明实施例还提供了一种编译处理装置、电子设备、以及一种计算机程序产品,用以保证上述方法的实现及应用。

3、第一方面,本发明实施例公开了一种编译处理方法,应用于编译器,所述方法包括:

4、在发布模式的目标应用程序进行编译的过程中,对于当前编译到的目标函数,在所述目标函数的序言模块的首条指令前插入空指令;

5、检测所述目标函数是否为预设断点函数;

6、若确定所述目标函数为所述预设断点函数,则将所述空指令替换为目标指令,以使运行到所述目标函数时先执行所述目标指令;所述目标指令包括断点指令或特定功能指令;

7、根据所述目标指令编译运行所述目标函数。

8、第二方面,本发明实施例公开了一种编译处理装置,应用于编译器,所述装置包括:

9、初始化模块,用于在发布模式的目标应用程序进行编译的过程中,对于当前编译到的目标函数,在所述目标函数的序言模块的首条指令前插入空指令;

10、函数检测模块,用于检测所述目标函数是否为预设断点函数;

11、指令优化模块,用于若确定所述目标函数为所述预设断点函数,则将所述空指令替换为目标指令,以使运行到所述目标函数时先执行所述目标指令;所述目标指令包括断点指令或特定功能指令;

12、编译运行模块,用于根据所述目标指令编译运行所述目标函数。

13、第三方面,本发明实施例公开了一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如前述中任一所述的编译处理方法的步骤。

14、第四方面,本发明实施例公开了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时能够实现如前述中任一所述的编译处理方法。

15、第五方面,本发明实施例公开了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时如前述中任一所述的编译处理方法的步骤。

16、本发明实施例包括以下优点:

17、本发明实施例对编译器编译release模式的目标应用程序的过程进行优化,在编译器编译release模式的目标应用程序的过程中,对于当前编译到的目标函数,在所述目标函数的序言模块的首条指令前插入空指令。所述空指令作为所述序言模块中的预留指令槽位,可以实现占位功能,以供需要时可以被替换为目标指令,并且不会影响目标函数的序言模块中原本指令的正常执行。编译器检测到所述目标函数是预设断点函数的情况下,将所述目标函数的序言模块中所述预留指令槽位的空指令替换为目标指令;所述目标指令包括断点指令或特定功能指令。若所述目标指令为断点指令,则后续运行到目标函数时,将实现在release模式下精确断点到期望的预设断点函数,实现对预设断点函数进行调试,若所述目标指令为特定功能指令,则后续运行到目标函数时,将对应触发执行该特定功能指令的返回值,为分析目标函数的运行情况提供数据基础。通过本发明实施例,在release模式下为技术人员提供调试分析目标函数的手段,从而进一步提高了软件开发的质量和效率。



技术特征:

1.一种编译处理方法,其特征在于,应用于编译器,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述方法还包括:

3.根据权利要求1所述的方法,其特征在于,所述目标指令为断点指令,将所述空指令替换为断点指令之后,所述方法还包括:

4.根据权利要求3所述的方法,其特征在于,所述根据所述目标应用程序的编译模式,触发执行所述断点指令,包括:

5.根据权利要求3所述的方法,其特征在于,所述根据所述目标应用程序的编译模式,触发执行所述断点指令,包括:

6.根据权利要求1所述的方法,其特征在于,所述方法还包括:

7.一种编译处理装置,其特征在于,应用于编译器,所述装置包括:

8.一种电子设备,其特征在于,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1至6任一所述的编译处理方法的步骤。

9.一种可读存储介质,其特征在于,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如权利要求1至6任一所述的编译处理方法的步骤。

10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时如权利要求1至6任一所述的编译处理方法的步骤。


技术总结
本发明实施例提供了一种编译处理方法、装置、电子设备及可读存储介质,所述方法应用于编译器,所述方法包括:在发布模式的目标应用程序进行编译的过程中,对于当前编译到的目标函数,在所述目标函数的序言模块的首条指令前插入空指令;检测所述目标函数是否为预设断点函数;若确定所述目标函数为所述预设断点函数,则将所述空指令替换为目标指令,以使运行到所述目标函数时先执行所述目标指令;所述目标指令包括断点指令或特定功能指令;根据所述目标指令编译运行所述目标函数。本发明实施例可以在Release模式下为技术人员提供调试分析目标函数的手段,从而可以进一步提高软件开发的质量和效率。

技术研发人员:徐良玉,乔鹏程
受保护的技术使用者:龙芯中科(合肥)技术有限公司
技术研发日:
技术公布日:2024/12/17
转载请注明原文地址:https://xbbs.6miu.com/read-29333.html