address-sanitizer相关内容

使用gcc 4.8构建时如何检测是否使用地址清理器构建?

我正在开发一个用C编写的程序,我偶尔会使用地址清理器来构建该程序,主要是为了捕获错误。该程序在启动时会在日志中显示一条横幅,其中包含以下信息:谁构建了它,构建了它的分支,编译器等。我认为如果二进制文件是使用地址清理器构建的,也可以很好地阐明它。我知道有__has_feature(address_sanitizer),但这仅适用于clang。我尝试了以下简单程序: #include ..
发布时间:2020-06-04 19:03:50 其他开发

在-fsanitize = address下运行时,如何隐藏LeakSanitizer报告?

当我使用 -fsanitize = address 编译C ++代码时,我的软件在退出时会打印出泄漏列表。有没有办法避免泄漏报告(我只对内存损坏感兴趣,而对泄漏不感兴趣)?我进入了 ASAN标志页面的页面,但是 解决方案 您可以使用 export ASAN_OPTIONS运行= detect_leaks = 0 或向您的应用程序添加函数: const char * __asan_d ..
发布时间:2020-06-04 19:03:45 C/C++开发

从gcc / clang获取libasan的位置

当我使用 -fsanitize = address 进行编译时,GCC / Clang隐式使用了ASAN动态库,该库为ASAN提供运行时支持。如果您构建的库是由另一个应用程序动态加载的,则必须设置 LD_PRELOAD 包括此动态库,以便它在应用程序启动时运行。 GCC / Clang希望使用 libasan.so 的哪个副本通常并不明显,因为可能会有多个副本系统上的ASAN(如果已安装多个 ..
发布时间:2020-06-04 19:03:40 其他开发

解决MSVC上类似消毒剂的功能

来自Linux / gcc / clang,我发现自己在Windows / Visual Studio上工作的越来越多。 我真正想念的是地址清理程序(范围检查,泄漏,免费使用后...)。我已经进行了一些研究,还尝试了一些尝试,但没有找到一个完整(功能上)且可靠的替代产品。例如,我曾经尝试过Memory.Dr,但了解到它不适用于基于Qt的程序(至少在Windows 10上不起作用)。 那 ..
发布时间:2020-06-04 19:03:27 C/C++开发

如何在Xcode中启用Clang Address Sanitizer?

正如在WWDC 2015上宣布的那样,Clang Address Sanitizer正在引入Xcode和OS X。 会议413:高级调试和地址清理器 如何为Xcode项目启用Clang Address Sanitizer 解决方案 Address Sanitizer已作为Xcode 7中的新功能添加。 在方案中使用运行时清理> 启用地址清理器标志来启用该选项。 gi ..
发布时间:2020-06-04 19:03:24 其他开发

如何为多个C ++二进制文件启用地址清理器

我正在研究一种产品,该产品由多个C ++可执行文件和相互依赖的库组成。我正在使用GCC和 -fsanitize-address 来构建它们。 据我了解,如果我想将地址清理器与库一起使用,则必须将其构建为共享对象(这是GCC的默认选项)。因此,我认为最好的选择是使用 -static-libasan 为可执行文件静态构建地址清理器,并为库进行动态构建。但是,当我这样做时,在构建C ++可执行文件之一 ..
发布时间:2020-06-04 19:03:17 其他开发

valgrind,gcc 6.2.0和“ -fsanitize = address”

最近,当使用'-fsanitize = address'进行编译时,当运行带有valgrind 的应用程序时,我得到 一个执行异常 “ ASan运行时不在初始库列表中排在第一位”。 我对valgrind的实际用途一无所知。 'ldd file.exe'命令提供 linux-gate.so.1 => (0xb7755000) libasan.so.3 => /usr/li ..
发布时间:2020-06-04 19:03:13 其他开发

如何在GCC中使用AddressSanitizer?

我正在尝试使用 g ++ -O0 -g -fsanitize = address -fno-omit-框架指针 ,但是会出现很多错误,例如: /home/user/libs/opencv/include/opencv2/core/mat.hpp:715:对`__asan_report_load8'的未定义引用 如何使用AddressSanitize ..
发布时间:2020-06-04 19:03:11 其他开发

如何使LeakSanitizer忽略程序泄漏的结尾

我想使用LeakSanitizer来检测泄漏的内存,但是我正在使用的程序样式无法在exit之前释放内存.以我的经验,这是相当普遍的. 我想检测到此泄漏: int main(int argc, char const *argv[]) { char *p = malloc(5); p = 0; return 0; } 并忽略此泄漏: int main(in ..
发布时间:2020-05-08 19:26:06 其他开发