[发明专利]overlay符号表建立和查找的方法、装置及程序调制系统有效

专利信息
申请号: 201210505005.0 申请日: 2012-11-30
公开(公告)号: CN102981956A 公开(公告)日: 2013-03-20
发明(设计)人: 卓玉樟;崔世强 申请(专利权)人: 华为技术有限公司
主分类号: G06F11/36 分类号: G06F11/36
代理公司: 深圳市深佳知识产权代理事务所(普通合伙) 44285 代理人: 唐华明
地址: 518129 广东*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: overlay 符号 建立 查找 方法 装置 程序 调制 系统
【说明书】:

技术领域

发明涉及程序开发领域,更具体地说,涉及overlay符号表建立和查找的方法、装置及程序调制系统。

背景技术

GDB(GNU Debugger,开源组织调试器)是开源组织发布的一个强大的UNIX下的程序调试工具。调试人员可以自定义程序或指令的运行方式;可以让被调试的程序或指令停止在设定的断点处,以使调试人员检测程序或指令的运行过程。

GDB包括用户交互界面、符号表处理模块和控制模块;其运行过程为,调试人员通过交互界面输入命令,命令和符号通过解析后,经由控制模块处理后转换为RSP协议命令到目标端;目标端解析RSP协议命令后,执行相应的命令,生成结果;符号表处理模块解析所述结果并将解析后的结果输出到交互界面。

在对命令进行编译的过程中,在内存中镜像处理器的一级缓存的地址中的代码段时,往往都是在内存中按照地址顺序来分配空间;现有技术中,可以采用overlay调试技术以缓解一级缓存空间不足,该调试技术的技术方案具体包括:

在建立overlay符号表时,首先在overlay的代码段建立<VMA,LMA>的地址关系表,从而可以实现访问VMA对应的已经映射的代码段,其中,LMA为加载内存地址,即,Load Memory Addr;VMA为虚拟内存地址,即Virtual Memory Addr。

在映射完成后,建立矢量块,并将矢量块的起始地址按照由高到低的地址顺序建立块链表;建立符号表的linetable,即,代码段与地址之间的对应关系表,并按照代码段所属PC的地址由高到低建立linetable的链表。

但是,发明人经过研究发现,现有技术至少存在以下缺陷,当采用多核处理器进行overlay调试时,由于在符号表中不能区分处理器中的多个核,所以在为一个处理器核建立blockvector列表后,在获取符号时可能会显示符号错误,即有可能是另外一个处理器核的符号;此外,基于相同的原因,在建立链表后,当通过顺序查找表项并显示代码和行号信息时,也可能会产生错误的结果,即,有可能会显示另外一个处理器核上一级缓存上的对应的行号信息,从而造成调试错误。

发明内容

有鉴于此,本发明实施例提供一种建立overlay符号表的方法,以解决现有技术存在的,当采用多核处理器进行overlay调试时,获取block时显示符号错误的问题。

本发明实施例是这样实现的:

一方面,本申请提供了一种overlay符号表建立方法,包括:

建立overlay代码段的虚拟内存VMA和加载内存LMA的地址关系表,所述地址关系表包括VMA、LMA和核标识的三元关系,其中,所述核标识从overlay表overlay_table中获取;

判断映射是否正确,包括:将所述代码段的VMA和LMA与所述地址关系表中的VMA和LMA与中进行匹配,若匹配成功,则判断代码段对应的全局代码段所属的image所对应的核信息与所述地址关系表中的核标识是否匹配,若匹配成功,则认为映射正确;

建立矢量块blockvector,并按照所述blockvector的起始地址由高到低的顺序建立所述blockvector的块链表,所述块链表中包括所述blockvector的核标识;

建立线性表linetable,并按所述代码段所属PC的地址由低到高顺序建立linetable链表。

进一步的,所述核标识为通过在线读取对象target上的overlay_table而获得。

进一步的,所述核标识为通过读取链接脚本中overlay_table的配置信息而获得。

一方面,本申请还提供了一种overlay符号表查找方法,包括:

查找当前执行程序中指令所对应的块信息,包括判断块中核标识是否和当前执行程序中指令的被调试核对应;

查找当前执行程序中指令所对应的symtable_and_line信息,包括在最接近的PC值的表项<PC,line>中查找与所述PC对应的symbol中最小行号的值最接近的值。

进一步的,还包括:

判断代码段是否为已映射,包括判断所述代码段中块信息中的所述核标识是否与当前被调试核对应。

一方面,本申请还提供了一种程序调试方法,包括建立overlay符号表方法和查找overlay符号表方法;

所述建立overlay符号表方法,包括:

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201210505005.0/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top