o sanitizer de endereço não funcionará com o bash no windows
Atualmente executando llvm, clang, clang-format e clang-modernize no Ubuntu Bash no Windows. Gostaria de usar o conjunto de ferramentas de higienização lançado pelo Google, incluindo endereço, memória e higienização de threads. Nenhuma das opções fsanitize parece funcionar.
Aqui está o exemplo de código para o ASAN:
#include <stdlib.h>
int main() {
char *x = (char *)malloc(10 * sizeof(char *));
free(x);
return x[5];// purposely accessing deallocated memory
}
Aqui está o clang call no bash no windows:
$clang++-3.5 -fsanitize=address -o1 -fno-omit-frame-pointer -g main.cpp -o main
$./main
Resultados
==70==Sanitizer CHECK failed: build/buildd/llvm-toolchain-snapshot-3.5/projects/compiler-rt/lib/sanitizer_common/sanitizer_procmaps_linux.cc:211 ((IsOneOf(*current_, 's', 'p'))) != (0)(0,0)
Eu adoraria sugestões sobre como fazê-lo funcionar ou se estou perdendo parte da cadeia de ferramentas ou algo assim.
Falhando com isso, suponho que inicializarei o Ubuntu ou o Debian com dupla inicialização, porque o clang for windows está faltando recursos simples, como o suporte std: out, embora, idealmente, eu gostaria de poder compilar os destinos do Windows e do Linux. Eu gostaria de evitar a inicialização dupla, já que o Ubuntu não pode montar espaços de armazenamento do Windows, mas eles parecem ser servidos muito bem para o Ubuntu bash no Windows.