Iar工程调试使用教程

Iar工程调试使用教程

wangxl@20180809

  • 打开工程
  1. 运行iar软件,进入demoled\Project目录选project.eww进行打开;

二、调试

1、设置断点 

 在代码左边点击要设置断点的语句,或点击要设置断点的语句,按鼠标右键,选择Toggle Breakpoint (Code)。这时该语句上将出现红色的断点标记。如下图;

  1. 下载运行

Ctrl+D 或主菜单Projcet-->DownLoad and Debug下载运行

  1. 执行到断点

按F5 键或工具条上的Go 按钮都可以让程序执行到断点。Debug Log 窗口将显示关于断点的信息。 

  1. 清除断点 
    双击Breakpoint 窗口中带勾的方框,可以允许或禁止断点。用主菜单Edit > Toggle Breakpoint 或按鼠标右键选择Toggle Breakpoint,可以直接从Breakpoint 窗口删除该断点。
  2. 调试执行

 (1) 单步执行Step Over:按F10,主菜单Debug > Step Over, 单步执行一条C语句或汇编指令,不跟踪进入C函数或者汇编语言子程序;

(2) 单步执行Step Into:按F11,主菜单Debug > Step Into, 跟踪执行一条C语句或汇编指令,跟踪进入C函数或者汇编语言子程序

(3) Step Out:按Shift+F11 主菜单Debug >Step Out,启动C函数或汇编语言子程序从当前位置开始执行,并返回到调用该函数或子程序的下一语句

(4) Next Statement:直接运行到下一条语句

(5)Run to Cursor:从当前位置运行到光标指定处

(6)Break:终止运行

(7)Reset:复位

(8)Stop Debugging:退出调试器

  1. 查看变量(Live Watch 窗口
    (1)打开Live Watch 窗口的方法是选择主菜单View → Live Watch 命令。Live Watch 窗口用于观察静止位置上的变量,如全局变量。

(2)右键要查看的变量,点击Add to Watch;变量的值在执行时变化并显示出来

7、监视寄存器

选择主菜单View > Register 打开寄存器窗口,显示的是CPU 寄存器。可以从寄存器窗口左上方的下拉菜单中选择需要查看的任何寄存器组。 

 

8、查看存储器

用户可以在存储器窗口监视所选择的存储器区域。 
(1)选择主菜单View >Memory 打开存储器窗口(用8-bit 显示数据)。 
(2)双击某个全局变量名并用鼠标将其拖到存储器窗口。执行单步,同时观察存储器的内容是如何修改的。用户可以在存储器窗口修改存储单元的内容。只需把插入点放在希望修改的地方,然后输入新值就可以了。 

 

9、暂停程序 
1)如果要求复位应用程序,选择主菜单Debug > Reset 或工具条上的Reset 按钮。 
2)如果要退出C-SPY,选择Debug > Stop Debugging,或工具条上的Stop Debugging 按钮。

### 配置 VSCode 使用 IAR 进行调试 #### 安装必要的扩展 为了使 Visual Studio Code (VSCode) 支持 IAR 的编译和调试功能,需先安装特定的扩展。推荐使用 `C/C++` 扩展以及支持 IAR 工具链的相关插件[^1]。 #### 设置工作区配置文件 创建 `.vscode` 文件夹于项目根目录下,并在此文件夹内建立两个重要 JSON 文件——`tasks.json` 和 `launch.json`: - **tasks.json**: 用于定义构建任务,指定调用 IAR 命令行工具来进行源码编译; ```json { "version": "2.0.0", "tasks": [ { "label": "build with iar", "type": "shell", "command": "${workspaceFolder}/path/to/IarBuild.exe", // 替换成实际路径 "args": [ "${workspaceFolder}/project.ewp", // .ewp 是 IAR project file "-make" ], "group": { "kind": "build", "isDefault": true }, "problemMatcher": [] } ] } ``` - **launch.json**: 描述启动配置项,允许连接到目标设备并执行调试操作; ```json { "version": "0.2.0", "configurations": [ { "name": "(gdb) Launch", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/output/exe/path/file.elf", // 输出 ELF 文件位置 "miDebuggerPath": "/usr/bin/gdb-multiarch", // GDB 路径, 可能需要替换为 iar 版本 gdb 或者 jlink-gdb-server "setupCommands": [ { "description": "Enable pretty-printing for gdb", "text": "-enable-pretty-printing", "ignoreFailures": true } ], "preLaunchTask": "build with iar", "cwd": "${workspaceFolder}", "environment": [], "externalConsole": false, "MIMode": "gdb", "internalConsoleOptions": "openOnSessionStart", "stopAtEntry": false, "logging": { "engineLogging": true } } ] } ``` 请注意,在某些情况下可能需要用 J-Link 提供的 GDB server (`JLinkGDBServerCLExe`) 来替代默认的 GDB 实现,以便更好地兼容 IAR 编译后的二进制文件[^3]。 #### 测试设置有效性 完成上述配置之后,可以通过按下 F5 键触发调试会话,此时应该能够看到程序正常加载至目标板卡上运行,并可在断点处暂停以查看变量状态等信息。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值