[发明专利]一种可重定位程序的加载及调试方法及系统有效
申请号: | 200910221541.6 | 申请日: | 2009-11-20 |
公开(公告)号: | CN101706725A | 公开(公告)日: | 2010-05-12 |
发明(设计)人: | 武晓慧;何海建 | 申请(专利权)人: | 中兴通讯股份有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445;G06F11/36 |
代理公司: | 北京安信方达知识产权代理有限公司 11262 | 代理人: | 吴艳;龙洪 |
地址: | 518057 广东省深圳市南山*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 定位 程序 加载 调试 方法 系统 | ||
1.一种可重定位程序的调试方法,其特征在于,应用于先进的精简指令集处理器ARM编译系统,该方法包括:
按照ARM映像文件中输入段的顺序加载可重定位程序;
将加载的所述可重定位程序编译链接生成可执行文件,具体包括:对ARM编译链接器的链接过程参数设置进行修改,利用ARM编译链接器将所述可重定位程序编译链接生成可执行可链接格式ELF文件;
将所述可执行文件载入调试工具中,实现对所述可重定位程序的调试;
所述对ARM编译链接器的链接过程参数设置进行的修改具体包括:
在ARM编译链接器中设置不扫描C库选项,用于在链接过程中不扫描C/C++运行时库;
设置未定义符号选项,用于将所有未定义的符号指向同一个已存在的符号;
设置不删除选项,用于在链接过程中保留所有段;
设置生成映像文件的入口entry、输出段属性为只读的输出段加载时地址值ro_base和属性为可读写的输出段加载时地址值rw_base;所述ro_base的值设置为所述可重定位程序载入内存的实际代码段加载地址,或为默认值;当实际数据段加载地址与所述可执行文件可执行数据段地址不一致时,所述rw_base的值设置为所述可重定位程序载入内存的实际数据段加载地址;
所述将所述可执行文件载入调试工具中的过程具体包括:
在动态加载的可重定位程序载入内存之后,确定所述可重定位程序的实际加载地址,包括实际代码段加载地址和数据段实际加载地址;
按照以下方式确定所述可执行文件载入调试工具的加载地址后,将所述可执行文件载入调试工具中:所述可执行文件的数据段的加载地址为所述rw_base的值;当所述ro_base的值设置为默认值或者为实际代码段加载地址时,所述可执行文件的代码段加载偏移地址值为所述实际代码段加载地址减去所述ro_base的值。
2.一种可重定位程序的调试系统,其特征在于,应用于先进的精简指令集处理器ARM编译系统,包括加载装置、编译链接装置和调试工具,其中:
所述加载装置,用于按照ARM映像文件中输入段的顺序加载可重定位程序;
所述编译链接装置,用于将加载的所述可重定位程序编译链接生成可执行文件;
所述调试工具,用于载入所述可执行文件,实现对所述可重定位程序的调试;
所述编译链接装置为ARM编译链接器,且对该ARM编译链接器的链接过程参数进行如下修改:
在ARM编译链接器中设置不扫描C库选项,用于在链接过程中不扫描C/C++运行时库;
设置未定义符号选项,用于将所有未定义的符号指向同一个已存在的符号;
设置不删除选项,用于在链接过程中保留所有段;
设置生成映像文件的入口entry、输出段属性为只读的输出段加载时地址值ro_base和属性为可读写的输出段加载时地址值rw_base;所述ro_base的值设置为所述可重定位程序载入内存的实际代码段加载地址,或为默认值;当实际数据段加载地址与所述可执行文件可执行数据段地址不一致时,所述rw_base的值设置为所述可重定位程序载入内存的实际数据段加载地址;
所述将所述可执行文件载入调试工具中的过程具体包括:
在动态加载的可重定位程序载入内存之后,确定所述可重定位程序的实际加载地址,包括实际代码段加载地址和数据段实际加载地址;
按照以下方式确定所述可执行文件载入调试工具的加载地址后,将所述可执行文件载入调试工具中:所述可执行文件的数据段的加载地址为所述rw_base的值;当所述ro_base的值设置为默认值或者为实际代码段加载地址时,所述可执行文件的代码段加载偏移地址值为所述实际代码段加载地址减去所述ro_base的值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910221541.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:带废热回收功能的半导体热电热水器
- 下一篇:一种分体式空调器的活动门机构