【发布时间】:2019-05-06 14:59:13
【问题描述】:
我在Mac10.13的Qtcreator中使用了-fsanitize=address,但是程序没有打印任何检测信息。是不是因为我的clang有问题?
泄漏.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
【问题讨论】:
-
It's supposed to work as you have written it。检查 Compile Output 选项卡,看看这是否真的是 Qt Creator 使用的命令(有时它无法更新底层 makefile,您必须手动单击 Run Cmake 或 Run Qmake)。