Не удается найти -lasan с помощью средства очистки адресов в Qt Creator в Windows (MinGW)

Я пытаюсь использовать средство очистки адресов gcc в Qt, добавляя CONFIG += sanitizer sanitize_address в мой файл .pro, но получаю ошибку error: cannot find -lasan.

Как мне установить библиотеку?

Я использую MinGW, предоставленный Qt, но я также могу попробовать автономную версию.


Связанный вопрос: gcc и Address Sanitizer MinGW-w64


person Josu Goñi    schedule 06.03.2019    source источник


Ответы (1)


К сожалению, GCC не поддерживает Asan в Windows: вот выдержка из libsanitizer /configure.tgt:

case "${target}" in
  x86_64-*-linux* | i?86-*-linux*)
    ...
  powerpc*-*-linux*)
    ...
  sparc*-*-linux*)
    ...
  s390*-*-linux*)
    ...
  sparc*-*-solaris2.11*)
    ...
  arm*-*-linux*)
    ...
  mips*64*-*-linux*)
    ...
  mips*-*-linux*)
    ...
  aarch64*-*-linux*)
    ...
  x86_64-*-darwin[1]* | i?86-*-darwin[1]*)
    ...
  x86_64-*-solaris2.11* | i?86-*-solaris2.11*)
    ...
  *)
    UNSUPPORTED=1
    ;;
esac

Обратите внимание, что Clang поддерживает его (с некоторыми усилиями — подробности см. в вики), и многие люди успешно использовали его.

person yugr    schedule 06.03.2019
comment
Я могу прочитать это ASAN, TSAN and USAN are great technologies which are available in GCC. Unfortunately they are not completely usable on Windows. A proper review and tests are needed before anything. здесь. Можете ли вы подтвердить, что его нельзя использовать, поэтому я помечаю ваш ответ как правильный? - person Josu Goñi; 25.03.2019
comment
@JosuGoñi Я добавил несколько подтверждающих ссылок. Обратите внимание, что добавление поддержки в GCC не должно быть сложным, просто ни один из основных участников не был заинтересован в этом. - person yugr; 25.03.2019