-fsanitize = address在QtCreator(mac10.13)上不起作用

时间:2019-05-06 14:59:14

标签: c++ macos clang

我在Mac10.13的Qtcreator中使用了-fsanitize = address,但是该程序未打印任何检测信息。是因为我的lang有问题吗?

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

C语版本

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 :(得分:-1)

您使用了错误的消毒剂。当您使用

进行编译时
SELECT *

并执行二进制文件(也已经在MacOS 10.13上进行了测试,从主干发出c声),您将得到

SELECT col1, col2, col3 FROM EMP
UNION ALL
SELECT col1, col2, col3 FROM B_SAL;