Mi intención es usar Clang
como reemplazo de Valgrind
en Windows para encontrar desbordamientos de búfer, uso indebido de memoria dinámica, etc. en programas C/C++ que he escrito. He creado Clang con éxito siguiendo las instrucciones provistas en here.Clang with -faddress-sanitizer en Windows
he tratado de compilar un programa simple en C con la opción -faddress-desinfectante (como se especifica here) y el siguiente error se lanza -
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)
¿Por qué se cling (como yo lo entiendo) invocando GCC ? Por supuesto, GCC no admite la opción -faddress-sanitizer.
Estoy muy entusiasmado con la posibilidad de usar esto ya que he estado tratando de encontrar un buen sustituto (gratuito) para Valgrind por un tiempo. ¿Puede ayudarme alguien, por favor?
El enlace ya no funciona. –
He corregido el enlace ahora para que apunte a https: // github.com/google/sanitizers/wiki/AddressSanitizerWindowsPort – milianw