【技术实现步骤摘要】
一种机器指令调试方法、装置、电子设备及可读存储介质
[0001]本申请涉及计算机
,特别涉及一种机器指令调试方法、装置、电子设备及可读存储介质。
技术介绍
[0002]调试器是一种在进行编程软件开发过程中的辅助工具,能够帮助开发人员根据开发需要,对编程软件的功能进行修正调试。
[0003]相关技术中,通过调试器可以看到在目标汇编语言环境下,编译器执行编译工作的各种调用栈、以及编译后生成的机器指令之间的对应关系。
[0004]但现有的部分技术方案里,调试器无法看到编译生成的中间代码与执行编译工作的转译函数的对应关系。对于开发人员而言,对该模式下编译结果中的错误机器指令进行调试时,难以准确定位存在转译错误的中间代码的具体位置,导致中间代码的调试工作效率低下。
技术实现思路
[0005]本申请实施例提供一种机器指令调试方法和装置,以解决现有技术方案中,由于编译调试器无法看到部分编译模式下的编译器在编译过程中过程信息,导致对于编译器的调试工作效率低下的问题。
[0006]第一方面,本申请 ...
【技术保护点】
【技术特征摘要】
1.一种机器指令调试方法,其特征在于,所述方法包括:根据待编译的源码文件获取多个用于生成机器指令的中间代码合集,所述中间代码合集中包括至少一条待转译的中间代码;遍历所述中间代码合集,通过预设的转译函数对所述中间代码进行转译,获得至少两条所述机器指令,以及与所述机器指令对应的结构体对象,所述结构体对象与所述机器指令一一对应;所述结构体对象用于记录所述机器指令与所述中间代码的对应关系;运行所述机器指令,获得运行结果中存在错误的目标机器指令;根据与所述目标机器指令对应的目标结构体对象,确定与所述目标机器指令对应的目标中间代码并进行调试。2.根据权利要求1所述的方法,其特征在于,在所述通过预设的转译函数对所述中间代码进行转译的过程中,还包括:根据所述中间代码构建结构集,所述中间代码和所述结构集一一对应;将与所述中间代码转译获得的机器指令对应的结构体对象,加入至与所述中间代码对应的结构集中;所述根据与所述目标机器指令对应的目标结构体对象,确定与所述目标机器指令对应的目标中间代码并进行调试,包括:根据所述目标结构体对象所属的目标结构集,确定与所述目标机器指令对应的所述目标中间代码,并对所述目标中间代码进行调试。3.根据权利要求1所述的方法,其特征在于,所述根据待编译的源码文件获取多个用于生成机器指令的中间代码合集,包括:获取待编译的源码文件;通过执行预设的文件生成脚本,构建供即时编译器运行的执行文件;通过运行所述执行文件,对所述源码文件进行初步编译,获得所述中间代码合集。4.根据权利要求1或3任一项所述的方法,其特征在于,所述通过预设的转译函数对所述中间代码进行转译,获得所述机器指令以及与所述机器指令对应的结构体对象,包括:获取通过执行预设的文件生成脚本所构建的供即时编译器运行的执行文件;通过所述执行文件中预设的转译函数对所述中间代码进行转译,获得所述机器指令以及与所述机器指令对应的结构体对象。5.根据权利要求3所述的方法,其特征在于,所述方法还包括:在所述执行文件中定义至少两个应用程序接口,所述执行文件为通过执行预设的文件生成脚本所构建的;在单个所述中间代码合集遍历结束后,通过至少两个应用程序接口中的第一应用程序接口将所述目标结构体对象同步至调试器,以供所述调试器根据所述目标结构体对象,确定与所述目标机器指令对应的目标中间代码并进行调试;在遍历所述中间代码合集的过程中,确定所述中间代码合集符合预设条件的情况下,通过至少两个应用程序接口中的第二应用程序接口删除与所述目标机...
【专利技术属性】
技术研发人员:黄奇齐,赵晓琳,
申请(专利权)人:龙芯中科西安科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。