Derzeit läuft Llvm, Clang, Clang-Format und Clam-Modernisieren auf Ubuntu Bash unter Windows. Ich würde gerne die von Google freigegebenen Desinfektionstools verwenden, einschließlich Adresse, Speicher und Thread-Bereinigung. Keine der FSanitize-Optionen scheint zu funktionieren. HierAdresse Sanitizer wird nicht mit Bash auf Windows
ist das Codebeispiel für ASAN:
#include <stdlib.h>
int main() {
char *x = (char *)malloc(10 * sizeof(char *));
free(x);
return x[5];// purposely accessing deallocated memory
}
Hier ist das Klirren Anruf in bash auf Fenster:
$clang++-3.5 -fsanitize=address -o1 -fno-omit-frame-pointer -g main.cpp -o main
$./main
Ergebnisse
==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)
I Liebe Vorschläge würden auf wie man es zum Laufen bringt oder ob ich Teile der Werkzeugkette oder etwas vermisse.
Ich schätze, ich werde Ubuntu oder Debian Dual-Boot, weil Clam für Windows fehlt einfache Funktionen wie STD: out-Unterstützung, obwohl ich gerne in der Lage sein würde, sowohl für Windows-Ziele und Linux-Ziele zu kompilieren. Ich möchte jedoch Dual-Boot-Vorgänge vermeiden, da Ubuntu keine Windows-Speicherbereiche bereitstellen kann, aber sie scheinen recht gut unter Ubuntu-Bash unter Windows zu laufen.