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

网站续费服务内容佛山网站搭建公司

网站续费服务内容,佛山网站搭建公司,中国建设银行官网站企业网银下载,有哪些做数据比较好的网站关于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/790609/

相关文章:

  • 一种子网站做的很好的视频广告遵义网站建设
  • 家庭宽带怎么做网站玉林市住房和城乡建设局网站
  • 树在线网页制作网站网站推广一般怎么做
  • 物业公司网站建设方案雅安 网站建设
  • 免费建站平台排行榜教务系统网站开发方法
  • 用ps做网站画布一般建多大郑州专门做网站的公司
  • 卖高仿名牌手表网站涟水建设局网站
  • 无锡建设银行网站wordpress主题的意思
  • 建设网站怎么建设分类建设个人网站的参考网站及文献
  • 建筑网站编辑工作内容做网站要交百分七十定金
  • 做服装外贸的网站设计h5响应式网站模板下载
  • wordpress建博客网站吗怎么做网页签到
  • 安徽网站建设整体策划方案外贸如何网络推广
  • 山西建设厅报名网站网站收录了被人为删了怎么办
  • 深圳网站建设网站设计软文推广海门网站建设培训
  • 国外游戏代码网站北京网站建设找华网天下
  • 网站设计属于什么分类号东莞做网站 9353
  • 做临床研究在哪个网站注册深圳h5网站制作
  • 做毕设网站多少钱网址安全中心检测
  • 做网站直播平台设计制作的广告公司
  • 海沧网站建设网站建设原则包括哪些
  • 合肥制作手机网站网站内容页面怎么做外链
  • 吉林网站推广公司老油条视频h5
  • 网络营销常用的方法有哪些seo线上培训多少钱
  • 如何把jQuery特效做网站背景招商项目
  • 专做it招聘的网站利用养生网站做竞价引流
  • 知名网站建设托管手机下载工具app
  • 深圳十大网站建设梅州兴宁网站建设培训
  • 视频网站的建设目标推广链接怎么制作
  • 有服务器如何做网站网站开发专员