Broken Warnings Theory

The “broken warnings theory” is a fictional theory of the norm-setting and signaling effect of coding practices and bug-checking techniques in 3rd party libraries on new bugs and design anti-patterns. The theory states that maintaining and monitoring warning levels to prevent small problems such as “signed/unsigned mismatch”, “no effect before comma”, and “non-standard extension used”… Read more

Diagnostic Improvements in Visual Studio 2017 15.3.0

This post as well as described diagnostics significantly benefited from the feedback by Mark, Xiang, Stephan, Marian, Gabriel, Ulzii, Steve and Andrew. Visual Studio 2017 15.3.0 release comes with a number of improvements to the Microsoft Visual C++ compiler’s diagnostics. Most of these improvements are in response to the diagnostics improvements survey we shared with… Read more

C++ compiler diagnostics improvements in VS “15” Preview 5

This post written by Andrew Marino and Andrew Pardoe Visual C++ in VS “15” Preview 5 now allows you to see where errors are in a line of code—the column number—as opposed to just showing the line number. As C++ has grown it’s increasingly useful to have a little more help finding your errors. Consider… Read more

C++ Edit and Continue in Visual Studio 2015 Update 3

We’ve been continuing to improve on C++ Edit and Continue (EnC) since we shipped it in Visual Studio 2015 with the default debug engine and the VC 140 toolset. We’ve addressed a fair bit of customer feedback and based on this, I’ll go over the latest developments in C++ EnC for Update 3 (download) and other… Read more

Memory Profiling in Visual C++ 2015

As announced in an earlier blog post, Visual Studio 2015 hosts a new set of memory profiling tools to help address and fix memory issues within your applications.  The new debug-time profiler runs during your debugging session and allows you to take snapshots anytime, such as at a breakpoint, and also view the heap contents during the… Read more

Format Specifiers Checking

By popular request, in Visual Studio 2015 RTM, we’ve implemented the checking of arguments given to printf/scanf and their variations in the C standard library. You can try the examples from this post in our online compiler. Summary Here is a list of all the formatting warnings that were introduced: State Level Number Text On… Read more

Native Memory Diagnostics in CTP 5

The Visual Studio Memory Usage tool is now selected by default in VS2015 CTP 5.  When you first debug a native app in CTP 5, the Diagnostic Tools window will launch and show both the Memory Usage and CPU Usage tools since they are both checked by default.  For more information on the Diagnostic Tools… Read more

Native Memory Diagnostics in VS2015 Preview

In Visual Studio 2013 Update 2 and also in the earlier CTP releases of Visual Studio 2015, we released a memory diagnostic tool that allowed developers to take heap snapshots of their application and then examine the heap contents upon terminating their application.  The initial release supported viewing managed and native objects in the heap,… Read more

GPU Usage tool in Visual Studio 2013 Update 4 CTP1

After shipping a number of improvements to Graphics Diagnostics in Visual Studio 2013 Update 3 RC, the team has been working to bring you more profiling tools for DirectX applications. In Visual Studio 2013 Update 4 CTP1 that released yesterday (Download here), you will find a brand new GPU Usage tool in the Performance and… Read more

Project Support for Natvis

The past two releases of Visual Studio have evolved the Natvis format to allow developers to easily visualize their debug data inside the VC++ expression evaluator.  The first Visual Studio “14” CTP provides a new way for native developers to consume and manage their Natvis debug visualizers.  In response to requests from Visual Studio developers,… Read more