野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2766|回复: 1

E2 studio中Release版与Debug版调试的差别

[复制链接]
发表于 2022-12-2 11:26:22 | 显示全部楼层 |阅读模式
1、Debug在初始化变量时,将每个字节位都赋成0xcc,代码存在错误在debug方式下可能会忽略而不被察觉到。debug方式下数组越界也大多不会出错。
Release在初始化变量时,其赋值是近似于随机的。如果你的程序中的某个变量没被初始化就被引用,就很有可能出现异常。
2、Debug通常称为调试版,包含调试信息,不做任何优化,便于程序员调试程序,有的错误类似数组越界,Debug模式下,一般不会报错,但是Release就会;
只有Debug版的程序才能设置断点、单步执行。
3、当使用Release调试时,会出现意想不到的错误,比如if(1)也无法进入。
4、如果使用的芯片空间足够,建议不要优化,优化等级过高,编译器会优化掉部分代码,出现意料之外的错误,比如未优化前可以正常进入通讯中断,提高优化等级后就无法进入。




回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-4-19 20:16 , Processed in 0.033345 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表