Logging is a big part of software development for many years now. This guide is a bird's eye view of modern solutions for logging in .NET space.
One of the most important concepts in modern programming is Exceptions. They were introduced in the 60's with LISP and eventually made their way to practically all modern programming languages. This article is an extensive guide to dealing with exceptions in Visual Studio.
This tutorial is part of a series: Part 1 – Getting started with Visual Studio Debugging Part 2 – Visual Studio Debugging Tool Windows In the previous tutorial, we saw some of the basics of debugging in Visual Studio. This included Breakpoints, Navigation through code, and Investigating variables with the DataTip and QuickWatch. In this tutorial we will go over all the windows Visual Studio has for debugging.
This tutorial is part of a series: Part 1 – Getting started with Visual Studio Debugging Part 2 – Visual Studio Debugging Tool Windows Unfortunately, writing code goes hand in hand with creating bugs. We all cause bugs, it’s one of the inevitable facts of life. This process of solving those bugs is called Debugging. Debugging comes in many forms: Stepping through the code with a debugger, investigating logs, unit testing, profiling, and analyzing dumps.
How many times did you use a desktop application to end up with a frozen unresponsive window? This article is about what we are to do when our .NET application freezes. We're going to explore tools and debugging techniques to see where the program is stuck and to find the core cause of the issue.
In this article, we'll see what exactly are dump files, why they are so helpful and how to use them correctly. You will see all the ways to create Dump files, to properly match them with symbols and source files and finally how to debug them to solve the problem.
Welcome to the 3rd and final part of the Deadlocks-in-Depth series. In this part, I’ll show you 2 additional techniques to debug deadlocks: Working with Tracepoints and using the notorious WinDbg to automatically detect deadlocks.
We'll see two more deadlock types: The notorious UI-Message-Queue Deadlock and the Sync-Context Deadlock (both names coined by me just now). In addition, I'll show you a new debugging technique for deadlocks and multi-threaded scenarios.
For me, multi-threading programming is one of the most fun things I do as a developer. It’s fun because it’s hard and challenging. And I get a particular sense satisfaction when solving deadlocks. So today I’m writing on one of my favorite subjects.