gcc - 什么是使用 gcc 在 cmake 中应用多种消毒剂的好方法
问题描述
GCC 有许多消毒剂(例如,泄漏、地址、线程)。但是其中许多都需要对代码进行仪表化,并且不能与其他人一起使用。因此,如果在实践中我想应用所有消毒剂以确保我的代码运行良好,那么使用所有这些消毒剂的推荐程序是什么?
我使用 CMake 管理我的项目
解决方案
一些消毒剂可以在同一运行中组合在一起:Asan+UBsan+Lsan(如果您的程序没有故意的无符号溢出,则可以选择 Isan)。所有其他消毒剂(例如 Tsan 或 Msan)都需要单独的 QA 运行(这意味着每次运行都重建 SW)。此外,您很可能需要为 Valgrind 运行专用 CI(它可以检测到 Asan 无法检测到的一些错误,并且由于实现细节,它不能应用于已清理的代码)。
推荐阅读
- python - Python 有偏样本分布
- php - 由于 php 中的 URL 注入导致信息泄露
- javascript - SyntaxError:在 require("file_path") 语句上出现意外的标记 '<'
- r - 如何将文本粘贴到 R 中 ggplot2 图中的数字 y 轴刻度上?
- javascript - 我是否为 Javascript 中的密码生成器正确编写/使用 concat?
- lua - 很棒的 WM 删除圆角以最大化窗口
- apache-spark - 反向补码pyspark中的字符串
- swift - AppleTv - CustomOverlayViewController 在时间码处强制弹出
- php - 带有修改的 php 模糊电子邮件地址
- prometheus - 将流入百分位函数转换为 promQL