c – 在Windows上使用-faddress-sanitizer

前端之家收集整理的这篇文章主要介绍了c – 在Windows上使用-faddress-sanitizer前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的目的是使用Clang作为 Windows上Valgrind的替代品,在我写的C/C++程序中查找缓冲区溢出,动态内存滥用等.我已经按照 here提供的指示成功修建了Clang.

我尝试使用-faddress-sanitizer选项(如指定here)编译一个简单的C程序,并且以下错误被抛出 –

gcc.exe: error: unrecognized command line option '-faddress-sanitizer'
Using built-in specs.
COLLECT_GCC=C:/MinGW/bin/gcc.exe
Target: mingw32
Configured with: ../gcc-4.7.0/configure --enable-languages=c,c++,ada,fortran,objc,obj-      c++ --disable-sjlj-exceptions --with-dwarf2 --enable-shared --enable-libgomp --disable-win32-registry --enable-libstdcxx-debug --disable-build-poststage1-with-cxx --enable-version-specific-runtime-libs --build=mingw32 --prefix=/mingw
Thread model: win32
gcc version 4.7.0 (GCC)
clang: error: assembler (via gcc) command Failed with exit code 1 (use -v to see invocation)

为什么cl铛(据我所知)援引海湾合作委员会?当然,GCC不支持-faddress-sanitizer选项.

我真的很高兴使用这个可能性,因为我一直在试图找到一个好的(免费)替代Valgrind一段时间.有人可以帮忙吗?

解决方法

AddressSanitizer在Windows上工作得更好,但这仍然是一个正在进行的工作. https://github.com/google/sanitizers/wiki/AddressSanitizerWindowsPort有一些文档

猜你在找的C&C++相关文章