打印
[STM32F1]

程序中怎么有些行不能设置断点?

[复制链接]
483|19
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
bqyj|  楼主 | 2021-7-3 11:22 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
例如134行,按我的理解,优化编译也不能把它优化得没有了。
怎么就不能设断点呢?
STM32F103C8

使用特权

评论回复
沙发
bqyj|  楼主 | 2021-7-3 11:25 | 只看该作者

使用特权

评论回复
板凳
pengf| | 2021-7-3 11:28 | 只看该作者
优化级别设低点看看

使用特权

评论回复
地板
dengdc| | 2021-7-3 11:31 | 只看该作者
被优化掉了吧,或者优化的串行了

使用特权

评论回复
5
zhenykun| | 2021-7-3 11:33 | 只看该作者
pack_read_time是不是定义成byte 型变量了,如果是,这段代码就被整个优化掉了

使用特权

评论回复
6
juventus9554| | 2021-7-3 11:35 | 只看该作者
pack_read_time如果不会大于500,那肯定会被优化掉,即使优化等选成最低也进不去。

使用特权

评论回复
7
dengdc| | 2021-7-3 11:37 | 只看该作者
pack_read_time设置的问题,或者优化等选成最低也进不去。

使用特权

评论回复
8
zhanghqi| | 2021-7-3 11:39 | 只看该作者
你往后面搞一点试试看,可以不

使用特权

评论回复
9
wyjie| | 2021-7-3 11:44 | 只看该作者
如果pack_read_time永远不会大于500,也就是if语句永远不可能成立的话,是打不了断点的。

使用特权

评论回复
10
stly| | 2021-7-3 11:46 | 只看该作者
未编译到,可能被优化了,降低优化试试

使用特权

评论回复
11
xxrs| | 2021-7-3 11:48 | 只看该作者
应该是这个函数里面含有太多的行,所以这样的应该不行吧。

使用特权

评论回复
12
zhenykun| | 2021-7-3 11:50 | 只看该作者
我不知道如果执行到断点是个函数,系统会如何,你也不确定这个函数的哪一行停下,还是执行完,,甚至这个函数内部是否有很多被优化的地方。

使用特权

评论回复
13
llljh| | 2021-7-3 11:52 | 只看该作者
这个函数无参数无返回值,调用的地方不止一个,如果优化等级太高的话,就会把多个调用的地方优化成一个。功能不变,但是单步执行顺序看起来变了

使用特权

评论回复
14
dengdc| | 2021-7-3 11:54 | 只看该作者
134行,143行,还有函数后的另外一个地方,都是相同的代码,都是执行相同的代码,然后返回,而且不用再回来。

使用特权

评论回复
15
zhenykun| | 2021-7-3 11:56 | 只看该作者
他们都被编译器给合并了。

使用特权

评论回复
16
zwll| | 2021-7-3 11:57 | 只看该作者
说明程序跑不到这里

使用特权

评论回复
17
juventus9554| | 2021-7-3 15:09 | 只看该作者
程序的问题

使用特权

评论回复
18
pengf| | 2021-7-3 15:11 | 只看该作者

被优化掉了 说明你的程序有问题 跑不到这里边来

使用特权

评论回复
19
chuxh| | 2021-7-3 15:27 | 只看该作者
那部分实现不了  被优化掉了

使用特权

评论回复
20
bqyj|  楼主 | 2021-7-3 15:29 | 只看该作者
多谢大家讨论这么多哈,呵呵

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

390

主题

4526

帖子

2

粉丝