 Hey everybody, this is Leslie Richardson and I'm here to show you three new ways to debug your code in Visual Studio 2019. First up, we've taken the once exclusive C++ data breakpoints and adapted them for .NET core applications. These breakpoints allow Visual Studio to watch a specific object's property even when it goes out of scope and will break when that object's property changes. Setting a data breakpoint is as simple as searching for the object that you're currently interested in, which you can now do via this new search tool in the auto's watch in locals windows. Locating the object property that you want to track, right clicking it, and selecting break when value changes. And from there, you can just press F5 or continue to continue running your application until it causes the selected property to be modified. And then you will receive a notification telling you when and where that change occurred. So whether you're coding in C++ or in .NET core, data breakpoints can be a good alternative to just placing a regular breakpoint on a property's setter and are great for scenarios such as finding where a global object is being modified or where an object is being added or removed from a list. Speaking of C++, if you're a C++ developer who debugs very large applications, Visual Studio 2019 has made symbols out of proc, allowing you to debug those applications without experiencing the constant memory related issues and crashes that you might have dealt with in past Visual Studio iterations. In the example shown here, the Xbox Game Gears of War is being debugged in Visual Studio 2017. Now, understandably, this is a very large application to debug. And in the Task Manager window, you'll notice that the amount of memory being consumed is really, really high after just a few minutes of being in the debugging session. Clocking in at around two gigs after just five minutes, so be prepared to experience some out of memory related errors in the near future. In contrast, when debugging the same application in Visual Studio 2019, the amount of memory being consumed is significantly lower when compared to 2017, and having those symbols out of proc results in less out of memory errors and in some cases actually makes your application debuggable. So now that you've finished debugging your large application locally, let's say you decide to go and publish it in Azure via a virtual machine. But what happens if you need to debug your code while it's still in production? For Enterprise users, Visual Studio 2017 introduced the snapshot debugger for Azure App Services. But the Visual Studio 2019 Enterprise Edition takes that a step further and also lets you use the snapshot debugger for Azure VMs, as shown in this example, or Azure Kubernetes for Linux Docker containers, providing you more safe ways to noninvasively debug your live code without impeding your end user's experience on the app. For example, you can use the snapshot debugger to retrieve additional log information by adding a snap point instead of a break point over in the gutter here, selecting settings, going to actions, and then typing in a message that you want to be sent to the output window or an Azure log. Once you do that, you can hit start collection or update collection, which will send all that snap point information up to the cloud. And this may take a few minutes, depending on your program, but no sweat. And then once you do that, you can interact with your still live program. And once you do something that triggers those log points that you just created, you can look in the diagnostics tools window and you'll see all of the log points that you just created. And those are just a few of the many, many new and improved debugging features for Visual Studio 2019. So go and check them all out and happy coding.