如何在 QMake 的.pro
文件中启用消毒剂的使用?
我发现了几个可以QMAKE_CXXFLAGS
自行修改的资源,但介绍性博文说:
它计划用于开发分支(Qt 5.2),因为它是一个新功能,但您应该可以将其挑选到例如 Qt 5.0 中。然后,您可以使用 -address-sanitizer 配置 Qt,并为您自己的应用程序运行 qmake CONFIG+=address_sanitizer。
但是,添加CONFIG+=address_sanitizer
似乎没有效果。
要启用例如地址清理程序,您必须编写:
CONFIG += sanitizer sanitize_address
sanitizer 选项在 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