Keil仿真条件断点10.30

Keil5软件仿真中可以使用“CTRL+B”打开断点设置界面。条件断点需要仿真器支持,已知ST-LINK可以,以下变量均为全局变量
条件断点1:设置执行多少次后停下。操作如下图所示

image
定义好后如下图
image
访问断点2:读/写变量时停下
设置写访问断点或者读访问断点
image
写访问断点设置好后如下图
image
停下了,但是汇编语言应该是上面那句,第一句是将寄存器数据存入内存,第二句是从栈中恢复寄存器并跳转
image
条件断点3:设置变量等于某个值时停下,操作如下,前面的步骤如上
设置断点,变量等于0x50写入时停下。
image
成功停下,变量值等于0X50
image
若想要对局部变量设置条件断点,可以监测局部变量在内存中的变化,即先找到局部变量的内存地址。
注意定义局部变量时加上“volatile”关键字,防止被编译器优化,要不然取地址时会报错,需要先运行函数,给局部变量分配地址。
image
条件框输入地址,使用指针解引用找到局部变量的值,再输入判断条件,最后设置为写访问断点。
(int *)将地址强制类型转换为指针。
image
image
最后成功在局部变量为100时停下
image

posted @ 2025-10-30 21:21  小智001  阅读(9)  评论(0)    收藏  举报