首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

官宣:AddressSanitizer新增x64支持

官宣

去年10月,我们官宣了MSVC工具集中AddressSanitizer x86版本的支持。主要的特性包括在Visual Studio中显示有关AddressSanitizer的错误报告,高亮问题代码等。AddressSanitizer最初由Google设计并开发,主要为了改进程序的内存访问安全性,它能识别可能发生的访问违规问题。通过在可能出问题的代码中高亮突出显示,开发者可以快速识别潜在的代码问题。

最重要的是,一般只要这个组件报告了错误,那十有八九是代码确实有问题,对于那些代码完美主义者来说,确实是一个神器。

从Visual Studio 2019 v16.7开始,AddressSanitizer可以同时支持x86和x64这两种构建目标。每种构建目标都包含了完整的调试版和已高度优化后的发行版支持。编译器可以生成和AddressSanitizer运行时交互的代码和元数据,另外,AddressSanitizer特性能有效支持所有级别的代码优化选项。

为了在IDE中提供AddressSanitizer支持,我们添加了一个新的vcasan.lib文件。这个小的静态库文件创建了一些元数据,IDE可以基于这些元数据进行分析并将错误报告显示在对应的窗格中。元数据将会被存储在Crashdump(.dmp)文件中,Crashdump文件将会在程序终止时生成。这些崩溃转储通常被用来调试程序的异常退出,而且它们可以方便的在开发人员和测试人员之间共享,文件可以在Visual Studio中重放以观察程序崩溃前发生的事情。

为了在Windows平台上支持上述的设计目标,我们对已开源的运行时做出了一些修改并积极回馈了开源社区。在此需要感谢那些早期使用这个特性的开发者,最终我们为所有Windows平台C++开发者提供这个特性。

总结

时不时用AddressSanitizer跑一跑代码,我等代码完美主义者有福了。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200813A0SM3O00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券