问题描述
在程序的C代码中添加断点,点击DUBUG进入调试。断点处出现“!”,断点取消了。单步调试,指针只在汇编处跳,不会在C代码中。
解决
原因是Name of Executable:AAAAj.hex
不要.hex后缀就行了
其他原因
可能还有别的问题会导致:
-
把工程目录全部改为英文
-
Edit - > configuration ->other

-
魔法棒 -> debug -> settings -> download Options的两个选项(verify code download和download to flash)都不要勾选,勾选cache options下的两个选项

-
printf()重定向问题
-
过度优化 优化等级为0就行了

-
勾选上Debug -> Run to main()

在使用Keil5进行程序调试时遇到断点失效问题,表现为断点变为‘!’并无法在C代码中停顿,只在汇编层跳转。解决方法包括:删除可执行文件名的.hex后缀,检查工程目录是否全英文,配置调试设置取消某些选项,以及处理printf重定向和优化等级设置。确保这些方面无误,能有效解决断点失效问题。
1749

被折叠的 条评论
为什么被折叠?



