адресное дезинфицирующее средство не будет работать с bash на windows

В настоящее время работает на Ubuntu Bash в Windows, используя llvm, clang, clang-format и clang-modernize. Я хотел бы использовать набор инструментов для очистки, выпущенных Google, включая адрес, память и функцию очистки потока. Кажется, что ни один из параметров fsanitize не работает.

Вот пример кода для ASAN:

#include <stdlib.h>
int main() {
  char *x = (char *)malloc(10 * sizeof(char *));
  free(x);
  return x[5];// purposely accessing deallocated memory
}

Вот вызов clang в bash для windows:

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

Результаты

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

Мне бы очень хотелось посоветовать, как заставить его работать, или мне не хватает части цепочки инструментов или чего-то еще.

В противном случае я полагаю, что буду использовать двойную загрузку Ubuntu или Debian, потому что в Clang для Windows отсутствуют простые функции, такие как поддержка std: out, хотя в идеале я хотел бы иметь возможность компилировать как для целей Windows, так и для целей Linux. Я бы хотел избежать двойной загрузки, поскольку Ubuntu не может монтировать пространства хранения Windows, но они, похоже, достаточно хорошо подходят для Ubuntu bash на Windows.

Ответы на вопрос(1)

https://llvm.org/svn/llvm-project/compiler-rt/trunk/lib/sanitizer_common/sanitizer_procmaps_linux.cc - Похоже, проблема в том, что bash в Ubuntu для Windows не поддерживает файловую систему / proc.

Код, который терпит неудачу, смотрит на / proc / self / maps - что на самом деле - кажется правильным.

Но я обнаружил, что другие вещи (например, сетевые) в / proc полностью сломаны в bashonwindowsonunix - так что я уверен, что эта часть находится в стадии разработки.

Ваш ответ на вопрос