AddressSanitizer没有生效

  • nebula 版本:1.0

  • 部署方式Docker:

  • 是否为线上版本:Y / N

  • 相关的 meta / storage / graph info 日志信息
    想要检测内存泄漏问题,根据之前发布的文章,打开了内存泄漏工具AddressSanitizer 的选项,可是好像不能正确的工作。参考文章 应用 AddressSanitizer 发现程序内存错误


编译是可以看到已经打开了

但是我在代码中插入如下的内存泄漏代码

再运行scan_vertex_test 单测,顺利的通过了,没有报错。

但是如果我把这内存泄漏的代码放在test的代码中,

运行就可以检测到内存泄漏

想请教下为啥在processor 中的内存泄漏没法检测出来

把你加的代码贴一下

你好,那个好像加的代码的问题,已经fix 掉,但是目前发现的问题就是,AddressSanitizer 没有显示行号,也有到网上去搜索了相关的解决方案,但是好像都没有解决,我这是用的g++ 是7.X 的了

编译选项如下:

但是报错信息不能显示具体的行号,只有地址,地址太难看出具体的信息了,如图

但是在机器上,写一个小的测试程序来运行,报错信息是可以显示出具体的行号的,如图:


想请教下,这边有知道原因的吗?

求助

你这个不是debug模式编译的吧

浙ICP备20010487号