linux 编译选项加 g++ -fsanitize=address

时间:2021-03-16 09:15:07
AddressSanitizer
*,*的百科全书  https://en.wikipedia.org/wiki/AddressSanitizer

GiuHub

https://github.com/google/sanitizers/wiki/AddressSanitizer

 

最近遇到一个问题,在编译caffe的 c++  程序时, 加上   -fsanitize=address 选项, 编译没错,运行  出错了。

出错内容:

WARNING: Logging before InitGoogleLogging() is written to STDERR
E0621 17:46:32.148802  6530 common.cpp:133] Cannot create Cublas handle. Cublas won't be available.
E0621 17:46:32.171581  6530 common.cpp:139] Cannot create Curand generator. Curand won't be available.
F0621 17:46:32.193279  6530 common.cpp:173] Check failed: error == cudaSuccess (2 vs. 0)  out of memory
*** Check failure stack trace: ***

----------

若没加选项   -fsanitize=address  , 运行就不会 出错。

我 的 gcc   版本    :    gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4)

----------------

望  知道 的 朋友 ,给个  提示,或者建议。。  欢迎来  留言。 。。谢谢!!