Я намерен использовать Clang
в качестве замены для Valgrind
в Windows, чтобы найти переполнение буфера, злоупотребление динамической памятью и т. Д. В программах на C/C++, которые я написал. Я успешно построил Clang в соответствии с приведенными инструкциями here.Clang with -faddress-sanitizer на Windows
Я попытался составить простую программу C с опцией -faddress-дезинфицирующее (как указано here) и следующая ошибка брошена -
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)
Почему лязг (как я понимаю) применение GCC ? Конечно, GCC не поддерживает параметр -faddress-sanitizer.
Я очень рад возможности использовать это, поскольку я пытался найти хорошую (бесплатную) замену Valgrind на некоторое время. Кто-то может помочь?
Ссылка больше не работает. –
Я установил ссылку сейчас, чтобы указать на https: // github.ком/Google/дезинфицирующие/вики/AddressSanitizerWindowsPort – milianw