Debugging and diagnostics enhancements in Visual Studio 2015
Cross-platform debugging support
You can use Visual Studio to create and debug native mobile apps that run on Windows, iOS, and Android devices. Use the Microsoft Emulator for Android, or connect a device and debug your code directly in Visual Studio.
Debug Your App Built with Visual Studio Tools for Apache Cordova in the MSDN Library is a detailed look at Visual Studio debugging support for Cordova.
C# / Xamarin. Use Xamarin to build native apps for Windows, iOS, and Android in Visual Studio with C#.
Debugger-integrated diagnostics tools
Use the debugger Diagnostic Tools window to collect and analyze performance and diagnostics data while you are debugging.
PerfTips and performance diagnostics
Monitor performance as you debug
When you run between breakpoints or step through your code in the debugger, PerfTips show you the elapsed time between the current breakpoint and the break that occurred last.
The time is presented as a tool tip to the right of the line that you are stopped at. PerfTips provide quick and continuous feedback on the performance of your app during development without requiring a separate profiling run. See Analyze performance in the debugger
The PerfTips: Performance Information at-a-glance while Debugging with Visual Studio blog post from the Visual Studio Platform diagnostics team gives you the details and a walkthrough.
The debugger-integrated Memory Use tool helps you analyze memory issues in your apps.
The Network diagnostics tool collects HTTP traffic data for .NET Windows 10 apps that help you analyze performance and correctness issues.
The Timeline diagnostics tool helps you analyze XAML performance issues
Break only when and where you want
The new breakpoints configuration window makes it easy to customize breakpoint behavior by specifying conditions and actions.
Conditions specify boolean properties that must be true for the debugger to break at a selected line.
Conditional statements break only when conditions you specify are met. Think of this as adding an “if” statement to your code and placing the breakpoint inside the “if” statement so it is only hit when the conditions you entered are true.
Hit counts break only after the breakpoint has been hit a certain number of times. These are useful in situations where code is called multiple times, and you either know the exactly when it is failing, or have a general idea that “it fails after at least” a certain number of times.
Filters break when the breakpoint is hit on a specific thread, process, or machine and are useful for debugging code running in parallel.
Actions specify the behavior of the breakpoint when the breakpoint is hit or the breakpoint condition is true.
- Tracepoints print a message to the output window and are capable of automatically resuming execution. These are useful for doing temporary logging when you need to trace something and don’t want to have to break and manually track values.
The New Breakpoint Configuration Experience in Visual Studio blog post from the Visual Studio debugger team is an in-depth look at using advanced breakpoints.
Lambda expressions in Watch windows
Debug and test lambda expressions in Watch windows
When you're debugging Visual Basic and C# projects, you can now enter lambda expressions in Watch windows.
Support for Debugging Lamba Expressions with Visual Studio 2015 is the debugger team's blog post.
C++ debugging enhancements
Improved startup performance on F5. When a C++ debugger launches a process, the Windows debug heap is disabled and the normal heap is used instead. This results in a faster start for debugging.
Reduced chance of deadlocks when evaluating functions. If the C++ debugger is stopped at a breakpoint and your app has acquired a lock, the C++ debugger will "slip" execution of threads in the app in order to evaluate an expression in the Immediate or a Watch window.
The Visual Studio Remote Tools lets you run, debug, and test an application that is running on one computer from another computer that is running Visual Studio. Install the remote tools on the remote computer from the Visual Studio Downloads page.