• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

Keil无法设置断点

牛妞小小 2019-03-19 浏览量:3827
在写32代码时,Keil无法设置断点,设置断点的地方显示感叹号,有没有遇到过同样问题的,请教一下解决方案。
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 1、把硬件仿真的时候,把程序的优化等级设置最低

         优化等价太高,编译器会把相关的函数进行整合优化的。

    22.jpg

    2、如下图只有深色块的位置才能打断点。

    11.jpg

    • 发布于 2019-03-19
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:17
  • 感叹号是空行,比如括号不算语句,你换个地方打断点试试
    • 发布于2019-03-19
    • 举报
    • 评论 0
    • 0
    • 0

  • 可能被优化啦,也可能根本运行不到那个地方。
    • 发布于2019-03-19
    • 举报
    • 评论 0
    • 0
    • 0

  • 说明那段代码被系统编译时就被优化了,无法被运行。
    • 发布于2019-03-19
    • 举报
    • 评论 0
    • 0
    • 0

  • 应该是修改程序之后没保存,仿真的文件不对,建议保存编译下载,在仿真打断点,然后全速运行看看。
    • 发布于2019-03-19
    • 举报
    • 评论 0
    • 0
    • 0

  • 这种情况多半是语句被编译器优化掉了。在KEIL设置里,把优化级别降低。

    再或者自己将语句优化一下。

    • 发布于2019-03-19
    • 举报
    • 评论 0
    • 0
    • 0

  • 你的程序优化过来吧,有的函数语句已经和其他函数整合一起了,所以你在这个地方是无法设置断电的
    • 发布于2019-03-19
    • 举报
    • 评论 0
    • 0
    • 0

  • 应该是编译时没有编译这一句程序,把优先给调到最低再试试,

    还有,有没有条件编译

    • 发布于2019-03-19
    • 举报
    • 评论 0
    • 0
    • 0

  • 这个要具体分析,可能是控行,可能优化了。
    • 发布于2019-03-19
    • 举报
    • 评论 0
    • 0
    • 0

  • 是所有的都不行,还是部分不行;

    有些地方被优化或者没有对应的汇编指令就没办法设置断点;

    • 发布于2019-03-19
    • 举报
    • 评论 0
    • 0
    • 0

  • 感叹号的地方意思是不允许设置断点,将优化关掉就行,开优化有些地方是打不了断点的
    • 发布于2019-03-19
    • 举报
    • 评论 0
    • 0
    • 0

  • 断占打上是灰色的么,应该是这条语句没有编译在hex文件的,要找一下原因是不是优化太高了
    • 发布于2019-03-19
    • 举报
    • 评论 1
    • 0
    • 0
牛妞小小 回复了 莱克迷KW :对,灰色感叹号。 回复

  • 如果是代码感叹号的话不一定是没法执行,是存在警告,是编译时的警告,跟仿真没有关系,你看下感叹号下面的代码是不是灰色的?

    • 发布于2019-03-19
    • 举报
    • 评论 0
    • 0
    • 0

  • 黄色的么,应该是警告的吧,可能是图标被挡住了,但是是可以设置了的,运行一下看看可以不可以停下呢,
    • 发布于2019-03-20
    • 举报
    • 评论 0
    • 0
    • 0

  • 应该是这些程序有条件编译吧,编译器并没有编译到程序中的。
    • 发布于2019-03-20
    • 举报
    • 评论 0
    • 0
    • 0

  • 这种情况我也碰到过,当时是因为语句被编译器优化了,所以没法打断点


    • 发布于2019-03-20
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

Keil无法设置断点