如何防止Visual Studio 2015 Update 2添加telemetry_main_invoke_trigger?

mag*_*981 9 c++ visual-studio-2015

一个简单的C++控制台应用

int main()
{
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

在Visual Studio 2015 Update 2中编译,添加了telemetry_main_invoke_trigger对Debug和Release二进制文件的调用.

在此输入图像描述

我怎么能阻止这个?

mag*_*981 9

根据微软的Steve Carroll(Visual C++团队的开发经理),您可以通过添加notelemetry.obj链接器的命令选项来删除遥测调用:

在此输入图像描述

史蒂夫卡罗尔解释说,这将在即将到来的更新3中删除:

我们的意图是良性的 - 我们的愿望是建立一个框架,有助于调查性能问题并提高我们的优化器的质量,如果我们得到任何关于现场减速或地方性灌注问题的报告.我们为不包括CRT来源进一步提高怀疑水平而道歉,这只是我们的疏忽.尽管如此,你们中的一些人已经研究过这种机制的工作原理.正如您已经调出的那样,代码所做的是触发一个ETW事件,当它打开时,将发出时间戳和模块加载事件.只有当客户向我们提供符号信息(即PDB)时才能解释事件数据,因此该数据仅适用于积极寻求我们帮助且愿意在调查过程中共享这些PDB的客户.到目前为止,我们还没有对任何客户进行过这种全面的练习,而且我们到目前为止依靠我们既定的方法来调查和解决潜在的问题.我们计划在Update 3中删除这些事件.同时,要在Update 2中删除此依赖项,您应该将notelemetry.obj添加到链接器命令行.