|
不同的调试工具对触发功能的实现程度是不一样的。在线仿真器(ICE)绝大多数都可以实现完型的触发功能。在线调试器(ICD)对触发功能的实现程度取决于所调试的嵌入式处理器上的片上调试逻辑。在线调试器(ICD)与逻辑分析仪组合,可以宴现较完整的触发功能。
开发人员通常将触发功能与下面要讲到的跟踪功能一起使用,来捕捉导致应用程序中问题产生自原因。
跟踪就是记录所调试的应用程序的执行过程,以便开发人员分析导致应用程序出现问题的原因。跟踪的记录方式有先进先出方式和压栈方式。先进先出方式总是记录应用程序停下来之前的最新运行过程。在先进先出方式下,如果跟踪记录缓冲填满的话,最先跟踪的记录就要丢弃,以便填充新的记录。压找方式记录跟踪开始到跟踪记录缓冲被填满这段时间内应用程序的运行过程。在压栈方式下,如果跟踪记录缓冲填满的话,新的应用程序执行过程将不被记录。跟踪还可以有选择地记录程序的执行过程,例如,只记录函数入口和出口的执行过程。当然,要进行有选择跟踪,开发人员必须对跟踪功能进行设置。
不同的调试工具对跟踪功能的实现方式是不一样的。在线仿真器(ICE)由于其结构的特殊性,它可以捕获到嵌入式处理器的总线周期,它的跟踪记录的最小单位就是总线周期。在线仿真器(ICE)调试软件译码这些总线周期,倒推出程序的执行过程。在线调试器(ICD)因为不能捕获嵌入式处理器的总线周期,因而决大多数没有跟踪功能。有些嵌入式处理器的片上调试逻辑能够将程序的执行过程信息压缩之后通过特定的接口送到芯片外部,供外部的调试工具使用。这样,在线调试器(ICD)可以通过增加跟踪模块捕获这些信息的方法实现跟踪功能。在线调试器(ICD)调试软件从跟踪模块记录的嵌入式处理器送出来的指令流信息,还原出应用程序的执行过程。基于ARM内核的嵌入式处理器芯片上的ETM接口就是一个这样的接口。通过这种方法实现的跟踪功能的完善程度完全取决于片上调试逻辑。
本新闻共 6页,当前在第 2页 1 2 3 4 5 6 |