在VS 2017中用/D更快的C++构建周期ebug:fastlink

继续我们的目标,进一步提高开发人员的生产力与 Visual Studio 2017年 在改进增量开发人员构建方面也进行了大量投资。开发人员增量构建是指开发人员更改单个或多个源文件和构建的过程。这些构建所花费的时间几乎等于链接二进制文件所花费的时间。在Visual Studio 2015中,我们引入了一个新的链接器开关’/debug:fastlink’. 与’/debug:fastlink开发人员平均可以看到干净链接时间提高了2-4倍。

null

好吧,用/debug:fastlink the 链接器生成的PDB没有任何私有符号信息。调试信息分布在输入对象和库文件之间,链接器PDB只是作为索引数据库。虽然这为日常开发人员构建提供了巨大的性能优势,但有一种情况需要以不同的方式处理,即当您希望与团队中的其他开发人员共享链接器PDB或将链接器PDB直接上载到symbol server时。有人要求使用能够从数据库创建完整PDB的工具/debug:fastlink PDB 根据需求和这个版本,我们正在这样做。开发人员现在可以从/debug:fastlink PDB 在解决方案和项目级别,都使用下图所示的新选项:

fastlink

如果您想从命令行流中集成它。二进制工具名为“mspdbcmf.exe”,可在此路径“Microsoft Visual Studio 14.0VCin”下使用。

mspdbcmf

使用的另一个问题/debug:fastlink is 它缺乏可发现性,现在开发人员需要使用链接器属性页来发现这个特性。从Visual Studio“15”开始/debug:fastlink will 用作新项目模板的默认程序数据库文件生成设置。

除了更改程序数据库文件生成的默认设置外,在此版本中,我们还将更改现有程序数据库生成链接器标志的定义:“/debug”to map to”/debug:fastlink,用于Visual Studio中的“调试”配置。

这将允许我们将所有现有的visualstudio开发人员迁移到/debug:fastlink by 违约。开发人员可以 选择退出此行为 通过添加’/debug:full’链接器切换到链接器命令行或通过启用’生成完整程序数据库文件’,如下面的属性页所示。

props

我们错过了为该设置统一“生成调试信息”和“生成完整程序数据库文件”的机会,但在即将发布的版本中将这样做。

我们想在这方面分享的另一件事是 Visual Studio“15” 我们正在努力进一步改进/debug:fastlink by 正在将名称哈希生成从链接时间移到DIA(或调试)时间。与名字查找相关的调试操作(如监视窗口中的表达式求值的函数/数据按名称查找)所用的时间略有增加,但只有非常大的二进制文件(>50MB)才会注意到这一点。下图突出显示了您将获得的链接时间改进/debug:fastlink over /在下一次更新中调试 Visual Studio“15” .

bp

总结

一如既往,我们欢迎您的反馈,我们很乐意在您尝试这些功能时从您的经验中学习。如果你在试用中遇到任何问题,一定要告诉我们/debug:fastlink or 看不到任何链接速度的提高。如果您选择直接与我们互动,也可以通过电子邮件向我们发送您的查询或反馈!对于新功能的建议,请通过 用户语音 .

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享