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

定义好后如下图

访问断点2:读/写变量时停下
设置写访问断点或者读访问断点

写访问断点设置好后如下图

停下了,但是汇编语言应该是上面那句,第一句是将寄存器数据存入内存,第二句是从栈中恢复寄存器并跳转

条件断点3:设置变量等于某个值时停下,操作如下,前面的步骤如上
设置断点,变量等于0x50写入时停下。

成功停下,变量值等于0X50

若想要对局部变量设置条件断点,可以监测局部变量在内存中的变化,即先找到局部变量的内存地址。
注意定义局部变量时加上“volatile”关键字,防止被编译器优化,要不然取地址时会报错,需要先运行函数,给局部变量分配地址。

条件框输入地址,使用指针解引用找到局部变量的值,再输入判断条件,最后设置为写访问断点。
(int *)将地址强制类型转换为指针。


最后成功在局部变量为100时停下
