[STM32G4] 关掉编译优化就能运行,打开就不正常。有没有办法定位问题出在什么地方啊?

[复制链接]
 楼主| Henryko 发表于 2024-6-27 16:32 | 显示全部楼层 |阅读模式
优化等级一调高就会卡死
理想阳 发表于 2024-6-28 14:12 | 显示全部楼层
你得调试看一下在什么地方卡住的,然后定位问题。
lix1yr 发表于 2024-7-11 13:35 | 显示全部楼层
在编译优化关闭时能够正常运行,但开启编译优化后出现问题,这可能是由于编译器对代码进行了优化,导致某些代码逻辑出现了问题
t1ngus4 发表于 2024-7-11 14:38 | 显示全部楼层
仔细审查代码,特别是与电影播放相关的部分,查看是否存在可能受编译优化影响的代码逻辑。检查是否有未初始化的变量、指针操作、内存访问越界等问题
d1ng2x 发表于 2024-7-11 15:46 | 显示全部楼层
在开启编译优化的情况下,尝试在关键位置添加调试信息,如打印日志、输出变量值等,以便在程序运行时观察程序的执行情况
su1yirg 发表于 2024-7-11 17:13 | 显示全部楼层
使用静态代码分析工具来检查代码中可能存在的问题,如未使用的变量、潜在的内存泄漏等,帮助定位潜在的编译优化导致的问题
kaif2n9j 发表于 2024-7-11 20:51 | 显示全部楼层
查看编译器的优化选项,了解开启优化后编译器会对代码进行哪些优化,可能会帮助您找到问题的根源
l1uyn9b 发表于 2024-7-11 21:55 | 显示全部楼层
您可以逐步定位问题出在哪里,找到导致开启编译优化后程序异常的原因。希望这些方法能帮助您解决问题
suw12q 发表于 2024-7-12 08:23 | 显示全部楼层
我觉得可能是存储/变量定义部分有问题吧
cen9ce 发表于 2024-7-12 10:05 | 显示全部楼层
其实没必要优化等级调高,不然很难调试和应用的
q1ngt12 发表于 2024-7-12 12:20 | 显示全部楼层
可能是那个函数定义在优化等级调高之后就有问题了吧
p0gon9y 发表于 2024-7-12 19:36 | 显示全部楼层
在开启编译优化的情况下,逐步调试程序,观察程序在哪个具体步骤出现异常,以便定位问题所在。
hehhehee 发表于 2024-7-26 14:41 | 显示全部楼层
对特定函数或代码段使用 #pragma 指令控制优化等级
内政奇才 发表于 2024-8-6 11:16 | 显示全部楼层
逐步降低优化级别
laocuo1142 发表于 2024-8-6 11:16 | 显示全部楼层
使用调试器来单步执行代码,观察在优化开启和关闭时变量的值和行为有何不同。这可以帮助您确定问题发生的具体位置。
powerantone 发表于 2024-8-6 11:17 | 显示全部楼层
检查那些涉及复杂逻辑、指针操作、内存分配和释放的代码段。这些区域更有可能在优化过程中出现问题。
stormwind123 发表于 2024-8-6 11:17 | 显示全部楼层
升级或更换编译器
您需要登录后才可以回帖 登录 | 注册

本版积分规则

138

主题

2411

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部

138

主题

2411

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部