不小心,代码重构产生严重错误,狂占内存
2006-06-05 17:54
393 查看
喜欢把以下代码
改为
这样可以减少缩进。特别是多个条件嵌套时,采用这种重构方法能有效地增加代码可读性。
不过今天不小心,在三明治代码的中间return:
结果造成程序狂占内存。
一直以为哪里内存占用没有释放,纠错时方向错误。
仔细检查今天的代码更改,把这些小改动给忽略了。
最后采用二分法逐步禁用代码行,才恍然大悟。
if (cond > CONDTION) { aaa(); bbb(); ccc(); } return; |
if (cond <= CONDTION) return; aaa(); bbb(); ccc(); |
不过今天不小心,在三明治代码的中间return:
{ ::wxMutexGuiEnter(); ... if (...) return; // ERROR ... ... ... ::wxMutexGuiLeave(); } |
一直以为哪里内存占用没有释放,纠错时方向错误。
仔细检查今天的代码更改,把这些小改动给忽略了。
最后采用二分法逐步禁用代码行,才恍然大悟。
相关文章推荐
- 不小心,代码重构产生严重错误,狂占内存
- SqlException 当前命令发生了严重错误 应放弃任何可能产生的结果
- 报ORA-4031错误时,我们通常可以根据Oracle无法分配多少字节的内存,来判断共享池碎片的严重程度,以下是4031错误官方的解释
- 由不断的创建线程产生的内存错误所想到的
- Linux系统内存错误产生的原因及调试方法
- sprintf格式化字符串时小心内存使用错误
- 提高代码质量及字节码如何防止内存错误
- 解决"当前命令发生了严重错误。应放弃任何可能产生的结果。"的问题
- atitit.故障排除--- 当前命令发生了严重错误。应放弃任何可能产生的结果sql server 2008
- errno 为上面语句执行失败后产生的错误号, EINTR==4 为错误代码,意思是 被中断的系统调用
- 解决"当前命令发生了严重错误。应放弃任何可能产生的结果。"的问题
- SqlException 当前命令发生了严重错误 应放弃任何可能产生的结果
- Linux系统内存错误产生的原因及调试方法
- 根据内存提示定位错误代码
- atitit.故障排除--- 当前命令发生了严重错误。应放弃任何可能产生的结果sql server 2008
- Linux系统内存错误产生的原因及调试方法
- 解决“当前命令发生了严重错误。应放弃任何可能产生的结果。”的问题
- 当前命令发生了严重错误,应放弃任何可能产生的结果的解决办法
- 内存错误代码一览
- 解决问题:当前命令发生了严重错误。应放弃任何可能产生的结果