碧波液压网 欢迎你,游客。 登录 注册

嵌入式系统软件开发环境中调试器的设计

版权信息:站内文章仅供学习与参考,如触及到您的版权信息,请与本站联系。

  

  

  1、程序调式与调试器的设计与概述

  调试就是发现程序中的错误并修改错误的过程,在软件开发流程中,调试是一个比较重要的环节。调试器就是帮助程序员发现并排除错误的软件工具,它给程序员提供从不同角度观察程序执行情况的能力。同时,好的调试器也是“读”程序的好帮手,程序员通过调试器调试程序时提供的各种功能和运行时的状态信息可以更深刻地理解程序功能。可以说调试器的优劣是衡量软件开发环境好坏的重要标准。在嵌入式系统软件开发环境中,调试尤显其重要性。因为许多嵌入式应用系统的软件规模并不是太大,也就是说设计和代码编写工作量相对较小,而开发者所面对的硬件对象千差万别,操作系统和就用程序也往往是绑定在一起的,如何“导出”调式结果信息也是软硬件开发者必须考虑的一个问题。

  2、调试的一般过程

  当程序运行后未得到预期结果,也就是程序有了“问题”,如何从程序的运行结果出发找到出错的根源,不同的程序员可能各有自己不同的经验和方法,但基本的调试过程还是类似的,可简单图示如下:

  

  图1—1调试的一般过程

  3、调试器的分类

  从调试器参与与调试的时机来看,或划分为静态调度器和动态调器两类。静态调试器的典型做法是在源程序中需要收集信息的位置插入跟踪语句,然后重新编译、执行程序,程序执行完毕后,用调试器分析执行时出跟踪语句保留下来的信息,将分析的结果给程序员作判断用。动态调器(又称源代码调试器或符号调试器),则是在程序运行的过程中动态地监控程序运行,并提供给程序员控制被调试程序的运行和访问被调试程序信息的手段。这一类调试器最本质的特征是提供有设置断点(breakpoint)和单步跟踪程序运行等能力,被调试程序运行时遇到断点后便停下来,调试器给程序员提供可从不同的角度观察程序运行情况的能力,以方便程序找出错原因,进而修改程序。本论文讨论的主要是这类调试器。其实,现在有些调试器这两种特点兼而有之。

  从调试器提供给程序员的抽象层次来分,可分为高层调试器和低层解试器。所谓的低层调试器通常指调试程序时仅能在汇编代码一级反映程序的运行状态,程序员只能从指令级和CPU的各种寄存器状态中分析程序运行是否正常。高层调试器则指能在高级语言一级反映程序的运行状态的调试器。

  从使用的被调试程序的功能特点来分,又可分为简单调试器。并行调试器,分布式调试器等等。

你没有登陆,无法阅读全文内容

您需要 登录 才可以查看,没有帐号? 立即注册

标签:
点赞   收藏

相关文章

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。

用户名: 验证码:

最新评论