Attualmente esegue llvm, clang, clang-format e clang-modernize su Ubuntu Bash su Windows. Vorrei utilizzare il set di strumenti di sanitizzazione rilasciato da google, inclusi indirizzo, memoria e sanitizzazione dei thread. Nessuna delle opzioni fsanitize sembra funzionare.disinfettante per indirizzi non funziona con bash su windows
Ecco il codice di esempio per ASAN:
#include <stdlib.h>
int main() {
char *x = (char *)malloc(10 * sizeof(char *));
free(x);
return x[5];// purposely accessing deallocated memory
}
Ecco la chiamata clang in bash su Windows:
$clang++-3.5 -fsanitize=address -o1 -fno-omit-frame-pointer -g main.cpp -o main
$./main
Risultati
==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)
avevo suggerimenti amore su come farlo funzionare o se mi manca parte della catena di strumenti o qualcosa del genere.
In caso contrario, suppongo che avrò un doppio avvio di Ubuntu o Debian, perché clang per Windows non ha funzionalità semplici come il supporto std: out, anche se idealmente mi piacerebbe essere in grado di compilare sia per i target Windows che per i target Linux. Mi piacerebbe evitare il dual-boot anche se Ubuntu non è in grado di montare gli spazi di archiviazione di Windows, ma sembrano essere serviti a Ubuntu bash su Windows abbastanza bene.