debug与release行为不一致,怎样查错
如果是计算结果不对之类的错误,你在每一步计算后输出一下当地的信息,可以帮助你找到是从哪个地方开始,计算结果飘了。
如果是崩溃,看调用栈,一般能找到问题,比如说某个函数的参数接收到nullptr,然后企图在nullptr上操作,或者是无限递归爆栈了。当然,打log也是一种办法,帮助你找出崩溃前发生了什么。
■网友
通常都是下标越界造成的。
或者访问了某段已经释放了的内存,其实也算越界。
这两种操作并不一定会造成程序崩溃。
但是debug和release优于优化不同,内存的管理可能不大一样,那么越界的时候指向的内容是不一样的,从而造成行为不同。
■网友
崩溃了就可以看调用堆栈了啊,结合局部变量窗口去debug咯。如果没崩溃,找到预期结果不一致的地方,打log,把中间结果一个个输出看看从哪里开始不一样咯。还有种hard模式:从头检查一遍代码,把那些不规范的代码及早更正过来。
■网友
查你最近修改的代码部分。修改了哪里后导致出错的?还有检查一下变量初始化问题。
■网友
没有代码,全凭瞎猜。反复读代码,当成在看一个不认识的傻逼写的垃圾代码,原因往往异常简单。
■网友
打印log
■网友
1. 先解决程序里的警告。
2. 是不是路径引起的一些配置文件配置错误。
【debug与release行为不一致,怎样查错】 3. release也能调试启动,能看到中断的地方,针对排错。
推荐阅读
- 广东警方曝光38款存在超范围收集用户信息违规行为App
- 进攻|盐城警方展开打防管控“冬季攻势”,市民举报违法犯罪行为有奖
- |艾滋病“后悔药”你知道吗?高危性行为后,这样做能救你一命
- 肝脏|比生气还伤肝的5个行为,在“悄悄”损伤你的肝,尽量改掉
- 警惕!这些行为,说明TA有家暴倾向
- 假如把中国电信监测到的3亿人一个月每天上网的所有行为打个包,哪些数据应该被提出从这些数据能得到啥
- |异地用警 交叉执法:严厉打击违法超限超载行为
- 土地出让金|连云港赣榆区对拖欠土地出让金行为采取八项措施
- 怎样看待海南摩托书尬舞的心理和行为动机
- 怎样看待内地旅客不满赔偿占香港航空飞机的行为
