当前位置: 首页 > news >正文

南昌网站设计特色网站版块策划

南昌网站设计特色,网站版块策划,怎么修改wordpress模板文件,wordpress删掉h1关于GCC/LLVM编译器中的sanitize选项用处用法详解 ​ 编译器中sanitize选项原本来自google的开源C/C 工具集sanitizers项目, 包括了AddressSanitizer, MemorySanitizer, ThreadSanitizer, LeakSanitizer,Sanitizers项目本是LLVM项目的一部分,但GNU也将该…

关于GCC/LLVM编译器中的sanitize选项用处用法详解

​ 编译器中sanitize选项原本来自google的开源C/C+ +工具集sanitizers项目, 包括了AddressSanitizer, MemorySanitizer, ThreadSanitizer, LeakSanitizer,Sanitizers项目本是LLVM项目的一部分,但GNU也将该系列工具加入到了自家的GCC编译器中。GCC从4.8版本开始支持Address和Thread Sanitizer,4.9版本开始支持Leak Sanitizer和UB Sanitizer,这些都是查找隐藏Bug的利器。

​ 关于GNU GCC提供的关于sanitize的编译选项有:

  1. -fsanitize=address

    开启AddressSanitizer,一个快速的内存错误检查工具。内存访问的指令用于检测越界和使用后释放的bug。此外可以通过设置ASAN_OPTIONS环境变量来影响运行时的行为。当ASAN_OPTIONS环境变量设置为help=1时(如:ASAN_OPTIONS=help=1),所有可用的选项将在将在程序启用时显示。更多关于ASAN_OPTIONS环境变量有哪些预设值,参考wiki。ASAN_OPTIONS环境变量不能结合-fsanitize=thread使用。

  2. -fsanitize=kernel-address

    为Linux kernel开启AddressSanitizer。KernelAddressSanitizer(KASAN)是一个动态内存错误检测工具,它提供了快速且全面的解决方案,用于查找Linux内核中使用后释放和越界的bug。更多信息查看KASAN wiki。

  3. -fsanitize=pointer-compare

    指针操作数的比较操作工具(<, <=, >, >=)。该选项必须要么和-fsanitize=kernel-address共用,要么和-fsanitize=address共用,他不能与-fsanitize=thread共用。该检查默认在运行时是关闭的,开启需要设置ASAN_OPTIONS环境变量为detect_invalid_pointer_pairs=2(如:ASAN_OPTIONS=detect_invalid_pointer_pairs=2)。设置ASAN_OPTIONS环境变量为detect_invalid_pointer_pairs=1,仅当两个指针操作数都为非NULL时才检测是否有无效操作。

  4. -fsanitize=pointer-subtract

    指针操作数的比较操作工具(-)。该选项必须要么和-fsanitize=kernel-address共用,要么和-fsanitize=address共用,他不能与-fsanitize=thread共用。该检查默认在运行时是关闭的,开启需要设置ASAN_OPTIONS环境变量为detect_invalid_pointer_pairs=2(如:ASAN_OPTIONS=detect_invalid_pointer_pairs=2)。设置ASAN_OPTIONS环境变量为detect_invalid_pointer_pairs=1,仅当两个指针操作数都为非NULL时才检测是否有无效操作。

  5. -fsanitize=thread

    开启ThreadSanitizer,一个快速的数据竞争检测工具。内存访问的指令用作检测数据竞争的bug。更多信息见threadsanitizer wiki。通过设置ASAN_OPTIONS环境变量可以影响运行时的行为,关于该变量支持的设置值见ThreadSanitizerFlags wiki。该选项不能与-fsanitize=address-fsanitize=leak共用。

  6. -fsanitize=leak

    开启LeakSanitizer,一个内存泄露检测工具。该选项仅关心链接或覆盖了malloc和其他分配器的库的可执行程序。更多信息见AddressSanitizerLeakSanitizer wiki。通过设置ASAN_OPTIONS环境变量可以影响运行时的行为,关于该变量支持的设置值见ThreadSanitizerFlags wiki。该选项不能与-fsanitize=thread共用。

    还有几个关于sanitizer的编译选项,有兴趣的参看:https://gcc.gnu.org/onlinedocs/gcc/Instrumentation-Options.html

http://www.yayakq.cn/news/665910/

相关文章:

  • wordpress建图片站微商城网站建设策划方案
  • cnzz统计代码如何添加到网站上去露兜博客 wordpress
  • 网站服务器和vps做一台专业设计vi公司
  • 关于干外贸的一些好的学习网站如何给网站划分栏目
  • 网站建设网站多少钱做别人一样的网站模板
  • 中石化第四建设有限公司网站给网站网站做推广犯法
  • 石家庄网站定制制作wordpress 抛弃php
  • 网站优化需要哪些工具商品推广软文800字
  • 甘肃手机网站建设外贸平台是做什么的
  • 海淀网站开发公司百度权重从1提升到2的办法
  • 有的网站为什么打不开怎么回事济宁市建设局网站
  • 深圳网站建设制作公司wordpress写代码编辑器
  • 太原网站排名公司个人简介html代码简单
  • 做网站通常又什么开发完成网站平台建设流程
  • 网站开发搭建合同wordpress模板底部
  • 做视频网站每部电影都要版权重庆网站推广产品企业
  • 网站怎样自己不花钱在电脑上做网页北京南站到北京站
  • 亿藤互联网站建设开发制度建设对网站管理的重要性
  • 网站排名优化原理可编辑wordpress主题
  • 现代企业网站建设特点湛江网站建设优化推广
  • 有没有只做软装方案收设计费的网站wordpress怎么弄会员
  • 企业中英文网站开发wordpress网站可以显示中文和英文
  • 黑客如何攻击网站前端网站开发一个月多少钱
  • 连云港做网站公司wordpress正文宽度
  • 网站301跳转代码硬件开发是什么意思
  • wordpress 导航页重庆网站seo分析
  • 合肥做网站域名的公司网站统计代码
  • 寺庙网站开发文案网上哪里接app推广单
  • 国家骨干院校建设网站做网站需要什么学专业
  • 上海网站建设托管上海做网站的的公司有哪些