IAR小结

来源:互联网 发布:小学生口语打分软件 编辑:程序博客网 时间:2024/04/27 01:01

IAR调试步骤:

complie->make->downlaod and debug->{go:全速运行,step over:执行内部函数式子进程调用,step into:每部执行一个函数调用,step out,next statment:每次执行一个语句,run to cursor}

live watch 里面自动更新的时间默认为1000ms更新一次。

注意:tools->options->debugger


使用自动窗口

1. 选择 View->Auto,开启Auto窗口。
自动窗口会显示当前被修改过的表达式。
2. 连续步进,观察i的值的变化情况。
设定监控点
接下来使用Watch窗口来查看变量。
3 选择View->Watch,打开Watch窗口。注意:按照默认设置,它与当前打开的Auto窗口叠在同一组中。
4. 使用以下进程在变量i上设置一个监控点:在Watch窗口中点击虚线矩形。出现输入区域时,键入i并回车。
用户也可以从编辑窗口中将一个变量拖到Watch窗口中。
5. 在init_fib函数中选择root列,把它拖到Watch窗口中。
Watch窗口中可以显示i和root的当前值。用户还可以扩展root列来监控它的更多信息。
6. 继续往下执行,看i和root的值如何变化。
7. 如果要在Watch窗口中去掉一个变量,选中它,然后点击Delete(删除)。
设置并监控断点
使用断点最便捷的方式是将其设置为交互式的,即将插入点的位置指到一个语句里或者靠近一个语句,然后选择“Toggle Breakpoint(触发断点)”命令。
1. 在语句get_fib (i) 上设置断点,其步骤为: 首先,在编辑窗口中点击Utilities.c,然后选择需要设定插入点的语句。然后,选择 Edit-> Toggle Breakpoint命令。
或者,在工具栏上点击Toggle Breakpoint按钮。
为了查看所有断点,可以选择View>Breakpoints,以打开断点窗口。在调试日志(Debug Log)窗口用户可以找到断点执行的相关信息。
运行至一个断点
2. 要使用户的应用程序运行至断点,选择Debug-> Go 命令。或者点击工具栏上的Go按钮。
应用程序运行到用户设定的断点处。监控窗口会显示root表达式的值,而调试日志窗口则显示断点的相关信息。
3. 选中断点,然后选择Edit-> Toggle Breakpoint命令,删除断点,使程序继续向下运行。
在反汇编模式中调试
使用C-SPY进行调试在C/EC++环境中通常更快速和更简洁。然而,如果用户想对低层的进程进行完全控制,可以采用反汇编调试模式,即每一步都对应一条汇编指令。C-SPY允许用户在这两种模式间自由切换。
1. 首先点击工具栏上的Reset按钮,重启用户的应用程序。
2. 如果反汇编窗口没有打开,就选择View-> Disassembly 命令,打开反汇编调试窗口。用户会看到当前C语言语句的对应汇编语言编码。
在反汇编调试窗口中,用户还可以使用其他反汇编调试命令。
监控寄存器
寄存器窗口允许用户监控并修改寄存器的内容。
1. 选择 View->Register命令,打开寄存器窗口。
2. Step Over命令将执行下一行指令,可以观察寄存器窗口中的值的变化。
3. 关闭寄存器窗口。
监控存贮器
存贮器窗口允许用户监控存贮器的指定区域。 在下列例子中,将监控对应root变量的存贮器。
1. 选择View->Memory,打开存贮器窗口。
2. 激活Utilities.c 窗口,选择root。然后将它从C源代码窗口拖到存贮器窗口中。
同时在存贮器窗口中对应root的值也被选中。
3. 如果要按16位来显示存贮器中的数据值,可以点击存贮器窗口工具栏的下拉菜单中的x2 Units(2倍单位)命令。
34
图21 图22 以16位显示内存中的数据值
如果存贮器单元还没有被init_fib命令(C语言程序)全部初始化,接着执行单步命令,用户会观察到存贮器中的数值是如何更新的。
用户还可在存贮器窗口中对数据值进行编辑,修改。只需在用户想进行编辑的存贮器数值处放置插入点,然后键入期望值即可。
最后,关闭存贮器窗口。
查看终端I/O
有时用户也许需要对程序中的指令进行调试,以便在没有硬件支持的情况下使用stdin和stdout。C-SPY通过终端I/O窗口来模拟stdin和stdout。
注意:终端I/O窗口只有在C-SPY使用了“With I/O emulation modules”(使用I/O仿真模块)输出模式对工程进行连接之后才是可用的。这意味着某些低层的程序将直接连接stdin和stdout到中断I/O窗口
窗口中的内容取决于用户的应用程序运行到哪里。
程序运行完毕
1. 要完成程序运行,选择Debug-> Go命令。或者点击工具栏上的Go按钮。
如果没有新的断点,C-SPY将一直运行到程序的末尾,然后在调试日志窗口中就会显示“a program exit reached(已到程序末尾)”的信息。
图23 在C-SPY中到达程序末尾
程序中所有的输出结果都显示在终端I/O窗口中了。
如果用户想再次运行当前程序的话,选择Debug-> Reset命令,或者点击工具栏上的Reset按钮。
2. 要退出C-SPY,请选择Debug>Stop Debugging 。也可点击工具栏上的Stop Debugging按钮,然后就看到嵌入式Workbench的工作区了。