address sanitizer funktioniert unter Windows nicht mit bash

Zurzeit wird unter Ubuntu Bash unter Windows llvm, clang, clang-format und clang-modernize ausgeführt. Ich möchte die von Google veröffentlichten Desinfektionstools verwenden, einschließlich Adress-, Speicher- und Thread-Desinfektion. Keine der fsanitize-Optionen scheint zu funktionieren.

Hier 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 der Clang-Aufruf in Bash auf Windows:

$clang++-3.5 -fsanitize=address -o1 -fno-omit-frame-pointer -g main.cpp -o main
$./main

Ergebniss

==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)

Ich würde gerne Vorschläge machen, wie ich es zum Laufen bringen kann oder ob mir ein Teil der Toolkette fehlt oder so.

Fehler, dass ich Ubuntu oder Debian dual-booten werde, weil in clang für Windows einfache Funktionen wie die Unterstützung von std: out fehlen, obwohl ich idealerweise sowohl für Windows-Ziele als auch für Linux-Ziele kompilieren möchte. Ich würde Dual-Booten zwar gerne vermeiden, da Ubuntu keine Windows-Speicherplätze bereitstellen kann, aber sie scheinen Ubuntu recht gut unter Windows zur Verfügung zu stehen.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage