-fsanitize = адрес не работает на QtCreator (mac10.13) - PullRequest
0 голосов
/ 06 мая 2019

Я использовал -fsanitize = address в Qtcreator Mac10.13, но программа не печатала никакой информации об обнаружении. Это потому, что у моего лязга проблема?

leak.cpp

#include<iostream>
int main() {
    int * ptr = new int();
    std::cout << "test leak memory check" << std::endl;
    return 0;
}

команда построения:

clang++ leak.cpp -fsanitize=address -fno-omit-frame-pointer -o leak.out

вывод терминала:


test leak memory check

Clang версия

Apple LLVM version 9.1.0 (clang-902.0.39.2)
Target: x86_64-apple-darwin17.7.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

QtVerstion: 5.11.1

1 Ответ

0 голосов
/ 06 мая 2019

Вы используете неправильное дезинфицирующее средство.Когда вы компилируете с

clang++ -fsanitize=leak -fno-omit-frame-pointer -o leak.out

и запускаете двоичный файл (также протестированный на MacOS 10.13 с clang из транка), вы получаете

 ==51079==ERROR: LeakSanitizer: detected memory leaks

Direct leak of 4 byte(s) in 1 object(s) allocated from:
#0 0x10fa8fb65 in wrap__Znwm lsan_interceptors.cc:288
#1 0x10fa7e1e8 in main (a.out:x86_64+0x1000011e8)
#2 0x7fff5f490014 in start (libdyld.dylib:x86_64+0x1014)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...