解决IAR不能设置断点

一、本人遇到的问题

将所有的断点全部删除,再Debug,看还会不会有提示。 再者,注意把工程选项里Linker->Output|Format中的Debug information for C-SPY勾上。生成HEX文件时会将此选项取消,仿真时需要重新勾选。

二、常见解决办法


1.Rebuild All重新编译

A.Project -> Clean:把前面编译后的文件删除;

B.Project -> Rebuild All:再重新编译所有文件。

这种情况比较常见,有可能是在更改了部分文件。

 
2.查看配置是否正确

A.生成Debug信息

Project -> Options -> C/C++ Compiler -> Output:勾选上“Generate debug informat” 这个选项。

B.链接包含Debug信息

Project -> Options -> linker -> Output:勾选上“Include debug information in output ” 这个选项。

 
3.代码优化等级较高

在某些场合下,比如要求执行代码的速度,或者代码容量比较大而芯片容量又有限,就需要对代码进行优化,优化的等级分多种。

没有特别要求,代码就可以不用优化。代码高度优化存在弊端,特别是代码不规范的情况下。有一点就是本文说的,高度优化的代码,会影响在线调试,可能你某部分代码被优化导致你不能打断点。

这个时候就容易出现:在先调试过程中,在反汇编的窗口中可以设置断点,在C编译区不能设置断点。

Project -> Options -> C/C++ Compiler -> Optimizations选择优化的等级:

猜你喜欢

转载自blog.csdn.net/qq_27747359/article/details/96481045
今日推荐