如何在 QMake 中启用消毒剂?
How to enable sanitizers in QMake?
如何在 QMake 的 .pro
文件中启用消毒剂?
我发现了几个可以自行修改 QMAKE_CXXFLAGS
的资源,但是 introductory blogpost 说:
It is scheduled for the dev branch (Qt 5.2) because it’s a new feature, but you should be fine cherry-picking it to e.g. Qt 5.0. You can then configure Qt with -address-sanitizer, and run qmake CONFIG+=address_sanitizer for your own applications.
不过加CONFIG+=address_sanitizer
好像没有效果
要启用地址消毒程序,您必须编写:
CONFIG += sanitizer sanitize_address
消毒剂选项在 Qt 的 mkspecs(mkspecs/features/sanitizer.prf
和 mkspecs/common/sanitize.conf
)中定义,当您添加 CONFIG += sanitizer
时加载。
快速查看我的 sanitizer.prf
(Qt 5.7.0) 显示特定的消毒剂是:
sanitize_address
sanitize_memory
sanitize_thread
sanitize_undefined
如何在 QMake 的 .pro
文件中启用消毒剂?
我发现了几个可以自行修改 QMAKE_CXXFLAGS
的资源,但是 introductory blogpost 说:
It is scheduled for the dev branch (Qt 5.2) because it’s a new feature, but you should be fine cherry-picking it to e.g. Qt 5.0. You can then configure Qt with -address-sanitizer, and run qmake CONFIG+=address_sanitizer for your own applications.
不过加CONFIG+=address_sanitizer
好像没有效果
要启用地址消毒程序,您必须编写:
CONFIG += sanitizer sanitize_address
消毒剂选项在 Qt 的 mkspecs(mkspecs/features/sanitizer.prf
和 mkspecs/common/sanitize.conf
)中定义,当您添加 CONFIG += sanitizer
时加载。
快速查看我的 sanitizer.prf
(Qt 5.7.0) 显示特定的消毒剂是:
sanitize_address
sanitize_memory
sanitize_thread
sanitize_undefined