[发明专利]程序的调试方法及装置有效
申请号: | 201911396063.2 | 申请日: | 2019-12-30 |
公开(公告)号: | CN111209193B | 公开(公告)日: | 2023-09-22 |
发明(设计)人: | 王一诺 | 申请(专利权)人: | 北京水滴科技集团有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京中强智尚知识产权代理有限公司 11448 | 代理人: | 黄耀威 |
地址: | 100102 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 程序 调试 方法 装置 | ||
本发明公开了一种程序的调试方法及装置,其中,该方法包括:通过第一操作系统的CPU模拟器加载目标调试程序,其中,所述第一操作系统运行在x86构架的第一设备,所述目标调试程序的应用环境为第二操作系统,所述第二操作系统运行在进阶精简指令集机器ARM构架的第二设备;在所述第一设备中分配所述目标调试程序的内存空间;在所述第一设备中运行所述目标调试程序,并触发所述目标调试程序的中断处理程序;通过所述中断处理程序调试所述目标调试程序。通过本发明,解决了相关技术中不能在x86设备中直接调试ARM设备的程序的技术问题,可以完全脱离真实设备进行调试,调试环境更加灵活,调试效率更高。
技术领域
本发明涉及计算机领域,尤其是一种程序的调试方法及装置。
背景技术
相关技术中,调试器是基于CPU的中断机制实现的,因此进阶精简指令集机器(Advanced RISC Machine,ARM)架构的调试器就需要相同架构的CPU,ARM CPU大多使用在移动设备和嵌入式设备上,现有的软件调试器(IDA(交互式反汇编器(InteractiveDisassembler))、GDB等)都需要通过PC端连接相应的ARM设备(如安卓设备)进行调试,操作步骤繁琐调试过程中存在限制,由于运行环境的差异,软件调试器无法模拟硬件中断信号,硬件中断信号由ARM设备直接出发,进而导致调试环境复杂,无法在x86设备中直接调试ARM设备的程序。
相关技术中的软件调试器都需要借助PC端连接设备,手机还需要进行ROOT等权限获取操作,操作步骤繁琐费时,导致调试场景有限,调试效率低。
针对相关技术中存在的上述问题,目前尚未发现有效的解决方案。
发明内容
为解决相关技术中不能在x86设备中直接调试ARM设备的程序的技术问题,本发明实施例提供了一种程序的调试方法及装置。
根据本发明的一个实施例,提供了一种程序的调试方法,包括:通过第一操作系统的CPU模拟器加载目标调试程序,其中,所述第一操作系统运行在x86构架的第一设备,所述目标调试程序的应用环境为第二操作系统,所述第二操作系统运行在进阶精简指令集机器ARM构架的第二设备;在所述第一设备中分配所述目标调试程序的内存空间;在所述第一设备中运行所述目标调试程序,并触发所述目标调试程序的中断处理程序;通过所述中断处理程序调试所述目标调试程序。
可选的,在所述第一设备中运行所述目标调试程序,并触发所述的目标调试程序的中断处理程序,包括:检测所述CPU模拟器针对所述目标调试程序的执行操作;在所述CPU模拟器执行所述目标调试程序的任一代码指令时,触发软件中断信号;响应所述软件中断信号,执行回调函数的指定代码,其中,所述指定代码包括所述中断处理程序。
可选的,在所述第一设备中分配所述目标调试程序的内存空间包括:获取所述目标调试程序的文件地址,其中,所述文件地址为相对地址;基于所述第一设备的存储器的寻址空间和所述文件地址计算所述目标调试程序的重定向地址,其中,所述重定向地址为绝对地址;根据所述绝对地址在所述第一设备中分配所述目标调试程序的内存空间。
可选的,通过所述中断处理程序调试所述目标调试程序包括:读取所述目标调试程序当前执行的指令代码;解析所述指令代码,以确定所述指令代码的指令类型;若所述指令类型为系统调用指令,对所述目标调试程序执行系统调试;若所述指令类型为断点指令,对所述目标调试程序执行断点调试。
可选的,通过所述中断处理程序调试所述目标调试程序包括:读取所述目标调试程序当前执行的指令代码;判断所述指令代码的内存地址与代码地址是否相同;若内存地址与代码地址相同,暂停执行所述目标调试程序,接收外部调试指令;若内存地址与代码地址不相同,判断所述指令代码的代码地址是否存在单步执行断点,若所述代码地址存在单步执行断点,暂停执行所述目标调试程序,接收外部调试指令,其中,所述外部调试指令用于指示针对所述目标调试程序的调试方式;根据所述外部调试指令控制所述目标调试程序。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京水滴科技集团有限公司,未经北京水滴科技集团有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911396063.2/2.html,转载请声明来源钻瓜专利网。