A simple C++ console app
int main()
{
return 0;
}
compiled in Visual Studio 2015 Update 2 adds a call to telemetry_main_invoke_trigger
to both Debug and Release binaries.
How can I prevent this?
Visual Studio 2015 - Microsoft Lifecycle | Microsoft Learn. This browser is no longer supported. Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
Still want an older version? Select a product below and click on the download button to log in to your Visual Studio (MSDN) subscription or join the free Dev Essentials program, to gain access to the older versions.
Long-Term Servicing Channel (LTSC) support The LTSC are separate release Channels based on the even-numbered minor version updates, for example, 17.0 and 17.2. For more information on Preview Channel, see Visual Studio Channels and Release Rhythm.
According to Microsoft’s Steve Carroll (Development Manager for the Visual C++ team), you can remove telemetry calls by adding notelemetry.obj
to the command options of the linker:
Steve Carroll explained that this will be removed in the upcoming Update 3:
Our intent was benign – our desire was to build a framework that will help investigate performance problems and improve the quality of our optimizer should we get any reports of slowdowns or endemic perf problems in the field. We apologize for raising the suspicion levels even further by not including the CRT source, this was just an oversight on our part. Despite that, some of you already investigated how this mechanism works in nice detail. As you have already called out, what the code does is trigger an ETW event which, when it’s turned on, will emit timestamps and module loads events. The event data can only be interpreted if a customer gives us symbol information (i.e. PDBs) so this data is only applicable to customers that are actively seeking help from us and are willing to share these PDBs as part of their investigation. We haven’t actually gone through this full exercise with any customers to date though, and we are so far relying on our established approaches to investigate and address potential problems instead. We plan to remove these events in Update 3. In the meantime, to remove this dependency in Update 2, you should add notelemetry.obj to your linker command line.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With