水木社区手机版
首页
|版面-C程序设计语言(CProgramming)|
新版wap站已上线
返回
下页
|
尾页
|
1/6
|
转到
主题:对于几十万行代码的工程,如果某一处出现了数组越界,如何定位
楼主
|
tianzong
|
2021-03-07 19:43:49
|
只看此ID
--
FROM 111.19.92.*
1楼
|
z16166
|
2021-03-08 11:27:35
|
只看此ID
咋知道是某处数组越界了?
几十万行代码听着吓人,一般就是想办法隔离问题吧,缩小范围
通用的方法是各种sanitizer、profiler用的,在分配的内存的前后增加guard位。
--
FROM 125.33.227.*
2楼
|
tianzong
|
2021-03-08 22:17:05
|
只看此ID
不懂sanitizer、profiler,求指点
【 在 z16166 的大作中提到: 】
: 咋知道是某处数组越界了?
: 几十万行代码听着吓人,一般就是想办法隔离问题吧,缩小范围
: 通用的方法是各种sanitizer、profiler用的,在分配的内存的前后增加guard位。
--
FROM 111.19.92.*
3楼
|
z16166
|
2021-03-09 00:29:22
|
只看此ID
https://clang.llvm.org/docs/AddressSanitizer.html
【 在 tianzong 的大作中提到: 】
: 不懂sanitizer、profiler,求指点
:
--
FROM 125.33.227.*
4楼
|
smthwang00
|
2021-03-09 01:32:10
|
只看此ID
core dump了吗?拿gdb,dbx啥的看看
【 在 z16166 的大作中提到: 】
: 咋知道是某处数组越界了?
:
: 几十万行代码听着吓人,一般就是想办法隔离问题吧,缩小范围
: ....................
--
FROM 223.72.69.*
5楼
|
hcl
|
2021-03-09 01:37:43
|
只看此ID
asan是正解。
【 在 tianzong 的大作中提到: 】
:
--
FROM 73.118.245.*
6楼
|
wuyeguo
|
2021-03-09 07:28:37
|
只看此ID
valgrind
【 在 tianzong 的大作中提到: 】
:
#发自zSMTH@KB2000
--
FROM 123.113.14.*
7楼
|
lengxinyi
|
2021-03-09 09:39:25
|
只看此ID
程序会报错啊,如果不是全局变量满天飞,不难找吧
比查运行多少个小时后有内存泄露容易太多了。。。
【 在 tianzong (emb) 的大作中提到: 】
: 标 题: 对于几十万行代码的工程,如果某一处出现了数组越界,如何定位?
: 发信站: 水木社区 (Sun Mar 7 19:43:49 2021), 站内
:
:
: --
:
: ※ 来源:·水木社区
http://www.newsmth.net
·[FROM: 111.19.92.*]
--
FROM 111.206.214.*
8楼
|
xeagle
|
2021-03-09 10:10:31
|
只看此ID
如果可以运行带符号信息的 debug 版本, 记得可以定位到越界的那一行
【 在 tianzong 的大作中提到: 】
--
FROM 123.125.37.*
9楼
|
iamwing
|
2021-03-09 10:11:20
|
只看此ID
编译会报warning么?警告级别调高一些。或者用PC-lint。
--
FROM 123.115.76.*
下页
|
尾页
|
1/6
|
转到
选择讨论区
首页
|
分区
|
热推
BYR-Team
©
2010.
KBS Dev-Team
©
2011
登录完整版