文档介绍:第!" 卷
第! 期
西南师范大学学报(自然科学版)
!##$ 年% 月
&’() ! "
*’) !
+’,-./( ’0 1’,234562 738./ *’-9/( :.8;5-682<( */2,-/( 1=85.=5 )
>?-)
!##$
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
文章编号:@### A%B@(!##$)#! #!#C #A
嵌入式软件调试器的设计与实现
!
温平川,
何先刚,
殷
茜
重庆邮电学院,重庆%###DA
摘要:嵌入式软件调试环境为嵌入式软件的开发提供了一个友好的软件调试平台) 从一种新的角度探讨了一种面
向嵌入式软件的调试环境,即基于嵌入式系统目标机机内调试器的嵌入式软件调试环境) 介绍了一种面向程序设
计语言的符号化调试技术,并重点剖析调试环境内核的设计与实现技术)
关
键
词:嵌入式软件;调试器;符号化调试技术
中图分类号:!"#$$%&
文献标识码:’
计算机软件的开发通常与程序的调试密不可分) 而程序的调试实际上是用户借助某种调试环境或工具
来完成对编制的程序进行功能性和正确性测试) 在这一过程中,用户在调试环境的监视下来分析所要调试
的程序,发现程序中存在的问题与缺陷,从而达到修正程序的目的) 我们构造的基于目标机机内调试器的
调试环境是一个面向多种程序设计语言而建立的嵌入式软件调试环境,它运行在一般的通用计算机上,通
过与目标机机内调试器通信来完成所需要的各种行为) 本文所阐述的系统由两个独立的硬件系统构成,整
个嵌入式软件调试环境分成两大部分分别自治的运行在不同的硬件平台上) 主调试环境与目标机系统的机
内调试器之间以数据流的方式相互联系在一起,从而形成一个松耦合系统) 在这样一个嵌入式软件调试环
境里,所要调试的程序的目标代码被加载到目标机上运行,而所有与调试有关的信息则加载在运行主调试
器的宿主机上,这种关系使调试环境与目标系统之间形成一非控制与被控制的关系,而所有的与调试有关
的行为则以信令的形式来完成)
$
面向程序设计语言的符号化调试技术
面向程序设计语言的符号化调试技术的特点就是能够支持在程序的源文件的任何程序语句上设置断
点,并在这样一个断点上打印和设置程序中所有的任何变量) 上述所有功能都要以交互的方式来完成,并
且以调试时显示合适的源代码的行号的形式来达到这些目的) 面向程序设计语言的符号调试,可以面向多
种程序设计语言,最典型的程序设计语言可能是 7 语言和宏汇编语言,因此我们所要开发的调试环境就是
为这两个程序设计语言编写的程序提供调试服务) 同时,这个调试环境的另一个目的是在只具有目标代码
的情况之下也可以完成对嵌入式软件的调试)
面向程序设计语言的符号化调试技术的实现需要从编译或汇编连接系统中取得帮助,也就是说,编译
或汇编连接系统在进行嵌入式软件的编译(汇编)生成时,要尽可能多的保留程序源代码的信息,即在所产
生的目标代码文件中保存目标代码与源代码之间联系的信息) 包括从源代码到目标代码的对应关系的信息
以及源代码中所用到的符号的定