- 主题:对于几十万行代码的工程,如果某一处出现了数组越界,如何定位
valgrind
【 在 tianzong 的大作中提到: 】
:
#发自zSMTH@KB2000
--
FROM 123.113.14.*
我记得是可以检测出来的,应该有些静态检测软件也能检测出来,不过可能依赖于代码
的实现方式
【 在 tianzong (emb) 的大作中提到: 】
: 内存泄露和数组越界不一样吧
: 内存泄露是指申请的内存没有回收,数组越界是指,数组中的内容大于数据元素个数
--
FROM 121.69.67.*
十年前的时候
有个模块内存问题,怎么也查不出来,实在没办法,把模块重写了一遍
【 在 Contador (Contador) 的大作中提到: 】
: 想当年用ST的sdk,不定期内核崩溃,可把我给调死了,gdb也搞不定,一开调试就不崩了,最后一遍遍看代码发现数组越界,ST的人很不好意思,专门请我吃了顿饭。
: 发自「今日水木 on vivo NEX S」
--
FROM 121.69.67.*
如果代码量不大的话,其实也可以试试小黄鸭调试法
有次调了一下午的程序,崩溃后找另一个工程师来看
结果在给他讲解我的逻辑5分钟后,我自己发现了问题。。。。。。。
【 在 xeagle (静下心来编程) 的大作中提到: 】
: 这个要赞,确实也是一种思路
: 发自「今日水木 on iOS」
--
FROM 121.69.67.*