16得票1回答
在Ubuntu 18.04下,gdb中的LeakSanitizer无法工作?

最近我将Linux开发虚拟机从Ubuntu 16.04升级到了18.04,注意到有一件事情已经改变了,这是在x86-64上的。在16.04中,我总是按照以下方式工作流程:使用gcc(5.4,16.04的存储库版本)和-fsanitize=address以及-O0 -g构建我正在开发的项目,然后...

15得票3回答
Clang 8与MinGW-w64: 如何使用地址和UB(未定义行为)检测器?

Clang 8 release notes中有这样一句话: 允许在MinGW上使用地址和未定义行为Sanitizer。 然而,我无法弄清楚如何正确使用它们。 我正在使用带有MSYS2 MinGW GCC的Clang 8.0.0。确切的细节在问题底部。 我尝试编译以下...

15得票1回答
AddressSanitizer,这些术语是什么意思?

所以我正在使用AddressSanitizer。但是其在描述问题时使用了一些专业术语。Shadow bytes around the buggy address: 0x0c067fff7fb0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00...

14得票1回答
如何在AddressSanitizer错误时生成核心转储文件

我按照以下方式编译我的代码以启用Asan:g++ -O0 -g -fsanitize=address -fno-omit-frame-pointer 但它从不生成核心转储,以便我可以随后检查错误的详细信息。我该如何生成它?

13得票1回答
使用地址检查器与OpenCV

我正在尝试在CUDA项目中使用Google的Address Sanitizer,更准确地说是与OpenCV cuda函数一起使用。但是,在第一个cuda调用上出现了“内存不足”错误。OpenCV Error: Gpu API call (out of memory) in getDevice,...

13得票1回答
Python扩展中的地址消毒剂

我试图使用地址检查器(Address Sanitizer)编译Python扩展。但是当我加载这个扩展时,我遇到了Traceback (most recent call last): File "test.py", line 2, in <module> from ext...

12得票3回答
GCC的ASAN能否像Rust一样提供相同的内存安全性?

Rust被称为一种内存安全的语言,但是在GCC中有一个叫做AddressSanitizer(ASAN)的安全特性: ./configure CFLAGS="-fsanitize=address -g" CXXFLAGS="-fsanitize=address -g" LDFLAGS="-fs...

11得票1回答
MacOS - clang地址检测器无法链接

我一直在尝试使用Clang的地址代码检测器,但链接器不支持。 链接器可能是“ld”,尽管我的CMAKE设置向我保证clang是链接器。 将-fsanitize = address添加到编译器和链接器标志中。 错误: Undefined symbols for architecture x...

11得票1回答
从gcc/clang获取libasan的位置

当我使用-fsanitize=address进行编译时,GCC/Clang会隐式地使用一个ASAN动态库来为ASAN提供运行时支持。如果你的构建库由另一个应用程序动态加载,则需要设置LD_PRELOAD以包括该动态库,以便它在应用程序启动时运行。 通常不明确GCC/Clang期望使用哪个li...

11得票2回答
使用AddressSanitizer输出如何获取行号?

我正在尝试让AddressSanitizer在其堆栈跟踪中产生行号。我已经在Mac和Fedora 19系统上尝试过,并且得到了类似的结果。这是一个简单的程序:#include <cstdio> #include <cstdlib> int main(int argc,...