尧图网络科技YAOTU DIGITAL 获取报价
获取报价
首页 / 资讯中心 / 文章详情

地址消毒器

发布时间:2026/9/6 16:32:13

资讯中心
01
ARTICLE

地址消毒器

地址消毒器
目录一常见消毒器二核心原理三基本用法1CMakeLists2编译方法3环境变量4屏蔽配置文件一常见消毒器ASAN检测内存越界等问题TSAN检测数据竞争等问题UBSAN检测数值运算类问题二核心原理基于运行时检测对内存进行精准监控发现问题会打印告警日志包括调用栈、线程、锁等关键信息。所以有时会遇到一些难点有些概率性问题必须复现了才能打出告警三基本用法1CMakeListsASAN基本配置option(ENABLE_ASAN Enable AddressSanitizer OFF) if(ENABLE_ASAN) add_compile_options(-fsanitizeaddress -fno-omit-frame-pointer) add_link_options(-fsanitizeaddress) endif()TSAN基本配置option(ENABLE_TSAN Enable ThreadSanitizer OFF) if(ENABLE_TSAN) add_compile_options( -fsanitizethread -fno-omit-frame-pointer ) add_link_options(-fsanitizethread) endif()2编译方法mkdir build cd buildcmake .. -DENABLE_TSANON 或者 cmake .. -DENABLE_ASANONcmake --build . -j8注意切换版本普通版ASAN版TSAN版时最好整个build删掉重建避免干扰。3环境变量执行 export TSAN_OPTIONS环境变量内容然后直接运行可执行文件配置的环境变量即可生效。例如export TSAN_OPTIONSabort_on_error1:halt_on_error1:suppressionstsan_suppressions.txt:log_pathtsan.log其中abort_on_error和halt_on_error是控制一直运行还是产生告警立刻abortsuppressions是用于指定屏蔽配置文件log_path是用于指定告警输出位置。4屏蔽配置文件有很多种用法最常见的问题就是日志相关代码产生大量data race类型的tsan告警干扰阅读可以在屏蔽配置文件里面加一行形如race:Log.h
02
RELATED NEWS

相关资讯

更多网站建设与数字化升级内容

03
WHY YAOTU

想打造同款高转化官网?

懂行业、懂生意,从建站到增长一站式陪跑

场景化定制

不做模板站,围绕你的业务场景量身设计,小众不撞款。

营销型架构

以转化目标组织内容与路径,让官网真正带来询盘。

全周期服务

设计、开发、运营、运维一体,上线只是开始。

免费获取你的建站方案

留下需求,专属顾问 24 小时内为你输出方案建议。