It's not so rare to see weird things happen in 3rd party library code. Call some method and you've got a strange exception. Or an incorrect behavior or even a process crash. It sure would be nice to debug some of these issues. In this article we're going to do just that - You'll see how to debug 3rd party library code in Visual Studio.
You might have heard about OzCode before. It's an extension for Visual Studio. Like ReSharper, but with very different functionality. The single purpose of OzCode is to help you debug code and find the root cause of problems. In this blog post, I'm going to tell you about some amazing features in OzCode from my perspective and why you should try it out.
Lock contention is a state where one thread is waiting for another while trying to acquire a lock. Whatever time spent waiting for the lock is "lost" time that is wasted doing nothing and causes performance problems. In this article, you'll see how to detect lock contention problems, debug them, and find the core cause of the issue.
Performance issues never seem to disappear from the world, no matter how fast new computers become. To deal with those issues we need proper tools. We have some great tools on Windows. On .NET Core with Linux, things are not so great. But they're getting better.
.NET Core 3 was recently released and brought with it a bunch of innovations, including a brand new JSON (de)serializer System.Text.Json. We're going to compare this serializer with Newtonsoft.Json and other major .NET serializers. Check out this epic performance battle.
There's an incredible built-in mechanism in Windows called Performance Counters that allows you to follow a whole lot of useful metrics. It's easy to use, comes free, and perhaps not used as much as it deserves. In this article, we'll see how to monitor performance counters with PerfMon, ...
In the 3rd part of the series we'll see how to create asynchronous steps in the pipeline with TPL Dataflow. We'll also see a new implementation using the Disruptor-net library.
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.