IAR小结

原创 2012年03月23日 19:57:20

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的工作区了。



STM8S IAR LOG功能

IAR调试的ST-LINK在线调试的时候,可以通过以下图1及图2的方式设置调试的log文件。 图1 图2          设置软件ok之后,直接重新调试软件,即可。 以下图,为程序中在应用中申...

IAR调试要点

(2)安装及调试过程  首先,打开IAR,然后选择“Open existing workspace”,或者直接从“Project”  菜单下选择“Add existing workspace”: ...

IAR 高级调试--插件篇

我用IAR 5.4调试stm32103的板子,做的是信号分析,虽然信号可以在示波器上分析,但是分析结果只能借助livewatch,由于刷新次数有限,同时无法对分析结果进行跟踪记录,分析起来非常不方便。...

20150812-如何在IAR中通过Watch窗口观察局部变量的值

原文地址:http://www.cnblogs.com/wx865220862/archive/2013/03/27/2984168.html 最近在用430开发一款产品,在软件调试的时候发现Wat...

IAR 调试出现“program exit reached"

IAR主函数中没有循环,程序运行到结尾退出了。

IAR的介绍

IAR的介绍  《IAR EWARM V5 嵌入式系统应用编程与开发》[ 2010-8-17 3:03:00 | By: 32446975 ]    《IAR EWARM V...

IAR调试要点

(2)安装及调试过程  首先,打开IAR,然后选择“Open existing workspace”,或者直接从“Project”  菜单下选择“Add existing workspace”: ...

小结一下KeilC与IAR对函数参数及返回值的处理

转载地址:http://www.dzkfw.com.cn/Article/keilc/566.html 以前从来没关注过这个,汗。 在C51中,KeilC与IAR在函数参数的传递及返回值的处理上...

Java学习IO流小结--字节流

  • 2015年07月11日 14:59
  • 218KB
  • 下载

CSS小结有关整体

  • 2014年10月25日 19:31
  • 36KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:IAR小结
举报原因:
原因补充:

(最多只允许输入30个字)