专栏名称: 嵌入式微处理器
关注这个时代最火的嵌入式微处理器,你想知道的都在这里。
今天看啥  ›  专栏  ›  嵌入式微处理器

传说中的软件断点到底是什么?

嵌入式微处理器  · 公众号  ·  · 2024-06-05 17:42
    

文章预览

不知道大家是否有过这样的经历:代 码全速运 行的时候,等了很久发现并没有得到想要的 结果,然后暂停之后发现程序死在了循环里面,或者断言里面。 那么,我们是否有办法在程序断言失败的时候,让程序自动停下来呢?而不是苦苦等待结果呢? 如果用常规的方法,肯定是在断言里面加入断点,只要断言失败,那么程序自然就停下来了。 但是我们知道, KEIL  加入断点后有可能在再次打开工程后消失,而且 STM32 单片机支持的断点数量也有限,有没有好的方法? 有的,就是软件断点! 你可以在需要停止 CPU 运行的代码中加入这条语句: __breakpoint( 0 ); //后面的立即数不怎么重要 这样,当你的程序断言失败了之后,如果运行到这条语句,在线调试模式下就会自动停止单片机运行(如果不在 在线调试 模式,也会进入停止运行,所以需要后面的优 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览