如何在QMake中启用消毒杀菌剂?

Nob*_*ody 11 c++ qt qmake sanitizer qt5

如何在QMake的.pro文件中启用消毒剂的使用?

我找到了几个QMAKE_CXXFLAGS自我修改的资源,但介绍性博客文章说:

它被安排在开发分支(Qt 5.2),因为它是一个新功能,但你应该很好地挑选它,例如Qt 5.0.然后,您可以使用-address-sanitizer配置Qt,并为您自己的应用程序运行qmake CONFIG + = address_sanitizer.

但是,添加CONFIG+=address_sanitizer似乎没有效果.

Nob*_*ody 16

要启用,例如,地址消毒剂,您必须写:

CONFIG += sanitizer sanitize_address
Run Code Online (Sandbox Code Playgroud)

清洁剂选项在Qt的mkspecs(mkspecs/features/sanitizer.prfmkspecs/common/sanitize.conf)中定义,在添加时会加载CONFIG += sanitizer.快速浏览一下我的sanitizer.prf(Qt 5.7.0)表明特定的消毒杀菌剂是:

  • sanitize_address
  • sanitize_memory
  • sanitize_thread
  • sanitize_undefined