[发明专利]在嵌入式系统模拟器上调试应用程序的方法有效
申请号: | 200510049298.6 | 申请日: | 2005-01-31 |
公开(公告)号: | CN1645339A | 公开(公告)日: | 2005-07-27 |
发明(设计)人: | 卜佳俊;陈纯;沈格俊;赵军;柯化成 | 申请(专利权)人: | 浙江大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 杭州求是专利事务所有限公司 | 代理人: | 林怀禹 |
地址: | 310027浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了在嵌入式系统模拟器上调试应用程序的方法。本发明的方法通过读取操作系统编译时生成的内核符号文件,得到位于模拟器内存中的应用程序进程控制块信息,从而获得对应用程序的控制能力,实现对运行于模拟器中操作系统之上的应用程序的调试。其优势在于不需要操作系统的网络支持,不需要运行额外的调试器程序,从而避免了嵌入式操作系统上缺乏调试器的问题;同时,本方法不在虚拟器的操作系统上执行额外的程序,提高了模拟器的性能,改善响应速度。 | ||
搜索关键词: | 嵌入式 系统 模拟器 调试 应用程序 方法 | ||
【主权项】:
1 一种用在嵌入式系统模拟器上调试应用程序的方法,其特征在于:1)调试器使用者指定待调试应用程序在模拟器上操作系统中的进程标识号;2)符号分析加载模块,对操作系统编译时生成的内核符号表进行扫描分析,得到进程控制块结构实例的内存地址,并遍历所有进程控制块结构实例,根据步骤1)中指定的进程标识号取得待调试应用程序的进程控制块的内存地址,根据操作系统支持虚地址与否,该内存地址可能是虚拟地址,也可能是物理地址;3)虚拟内存访问模块,如果操作系统支持虚地址机制,则该模块实现与模拟器上运行的操作系统同样的地址转换算法,根据2)中获得的虚地址计算出对应的物理地址,如若遇见所对应的内存页不在物理内存中,则需将其从模拟文件系统中所在的块号并将页加载至内存,若上层运行的操作系统不支持虚地址机制,则本步骤可以省去;4)调试接口模块,该模块接受来自程序开发人员的各种调试指令,送至调试代理模块,并将调试代理模块接受指令后产生的调试信息接受并显示;5)调试代理模块,该模块收到调试接口传来的调试指令,若调试指令为插入断点,则将目的断点地址对应的指令修改为自行定义格式的断点指令,被覆盖的原指令连同断点位置被保存下来,当虚拟机遇到该断点指令时,则停机等待从调试器发过来的调试指令;若调试指令为现场查询指令或现场修改指令,则根据2)中获得的进程控制块中存储的信息针对属于进程的内存地址或者由模拟器模拟的寄存器进行相应的操作;若调试指令为继续执行,则将保存的原指令恢复,让虚拟机恢复运行状态;若为显示进程列表指令,则调用符号分析加载模块根据2)所述获取进程列表数据结构在内核中的内存地址,并遍历该结构;若为指定调试进程指令,则在模拟器内部维护一个当前调试进程信息的数据结构。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学,未经浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/200510049298.6/,转载请声明来源钻瓜专利网。
- 上一篇:线性导轨润滑装置
- 下一篇:双面吸声啮合空腔无棉声屏障