跃函数的自动变量和参数。
⑤ Live Watch 窗口
打开Live Watch 窗口的方法是选择主菜单View → Live Watch 命令。Live Watch 窗口用于观察
静止位置上的变量,如全局变量。变量的值在执行时连续变化。
3.设置和监视断点
IAR C-SPY 具有强大的断点功能。详细请见EWARM USER GUIDE 中的131 页The break point system。设置断点最简单的方法是将光标定位到某条语句,然后按鼠标右键选择Toggle Breakpoint 命令。
① 设置断点
点击要设置断点的语句,按鼠标右键,选择Toggle Breakpoint (Code)。也可以按工具条上的Toggle Breakpoint 按钮。这时该语句上将出现断点标记。
选择主菜单View > Breakpoint 可以打开Breakpoint 窗口观察断点设置情况。如图中的下部窗口是Breakpoint 窗口。C-SPY 不限制断点设置的数量,但是任何时候最多只允许激活一个断点。在Breakpoint 窗口中定义断点语句的前面小方框中打勾的是被激活的断点。用户可以在Breakpoint窗口中切换激活的断点,达到调试的目的。
② 执行到断点
按F5 键或工具条上的Go 按钮都可以让程序执行到断点。Debug Log 窗口将显示关于断点的信息。
③ 清除断点
双击Breakpoint 窗口中带勾的方框,可以允许或禁止断点。用主菜单Edit > Toggle Breakpoint 或
按鼠标右键选择Toggle Breakpoint,可以直接从Breakpoint 窗口删除该断点。
4.在反汇编窗口上调试
通常,在C\C++程序上调试应该更快速和更直接。但是如果用户希望在反汇编程序上调试。反汇编程序的调试方法如下:
① 按Reset 按钮复位应用程序。
② 调试时反汇编窗口通常是打开的。如果没打开可选择主菜单View > Disassembly 打开反汇编窗口。
③ 反汇编窗口如图所示,汇编代码与C 语句一一对应。执行单步命令时将执行单条汇编语句。
④ 如果关闭反汇编窗口,单步命令重新执行单条C 语句。
5.监视寄存器
寄存器窗口允许用户监视和修改STR710 寄存器的内容。选择主菜单View > Register 打开寄存器窗口,
如图3显示的是CPU 寄存器。用户可以从寄存器窗口左上方的下拉菜单中选择需要查看的任何寄存器组。
6.查看存储器
用户可以在存储器窗口监视所选择的存储器区域。
① 选择主菜单View >Memory 打开存储器窗口(用8-bit 显示数据)。
② 激活main.c 窗口并双击某个变量名并用鼠标将其拖到存储器窗口。执行单步,同时观察存储器的
内容是如何修改的。用户可以在存储器窗口修改存储单元的内容。只需把插入点放在希望修改的地方,然后输入新值就可以了。
7.观察Terminal I/O
当用户希望调试应用程序中的stdin和stdout,但是又没有实际的硬件支持时,C-SPY允许用户使用Terminal I/O模拟stdin和stdout。在本例中没有用到此功能。
注意:Terminal I/O 只有在选用了Linker 选件With I/O emulation module 时才可用。也就是说,某些把stdin 和stdout 指向Terminal I/O 的低级例程将被连接进应用程序。
选择主菜单View > Terminal I/O 显示I/O 操作的输出。Terminal I/O 窗口显示的内容取决于应用程序执行了多远。
8.执行程序和暂停程序
① 按F5 键,选择主菜单Debug > Go 或工具条上的Go 按钮都可以直接运行程序。如果没有设置断点,程序一直执行到结束。因为在本例中程序设计成无限循环,用户需要停止程序运行可以选择主菜单Debug → Break。Debug Log 窗口中显示程序运行状态的消息。
② 如果要求复位应用程序,选择主菜单Debug > Reset 或工具条上的Reset 按钮。
③ 如果要退出C-SPY,选择Debug > Stop Debugging,或工具条上的Stop Debugging 按钮。