How to debug .NET Deadlocks (C# Deadlocks in Depth - Part 3)

How to debug .NET Deadlocks (C# Deadlocks in Depth - Part 3)

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.

11 Tips to become an Efficient, High-Performance Software Developer

11 Tips to become an Efficient, High-Performance Software Developer

In software, one developer can make a big difference. This is why hiring great engineers is so hard, and why programmer salaries are sky-rocketing. A high-performance software developer is an incredible asset in a team. A company is willing to pay them top dollar, and the competition to hire them is fierce.

C# Deadlocks in Depth – Part 2

C# Deadlocks in Depth – Part 2

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.

C# Deadlocks in Depth - Part 1

C# Deadlocks in Depth - Part 1

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.

11 things I wish I could tell myself as a Junior Software Developer

11 things I wish I could tell myself as a Junior Software Developer

We've all been Junior developers at some point. Do you remember that long ago? I sure do. I remember the excitement when I could make something work. I remember the fear when faced with a task I had no idea how to even start.

Find, Fix, and Avoid Memory Leaks in C# .NET: 8 Best Practices

Find, Fix, and Avoid Memory Leaks in C# .NET: 8 Best Practices

Finding, Fixing and learning to Avoid Memory Leaks is an important skill. I'll list 8 best practice techniques used by me and senior .NET developers that advised me for this article.

5 Techniques to avoid Memory Leaks by Events in C# .NET you should know

5 Techniques to avoid Memory Leaks by Events in C# .NET you should know

Event registrations in C# (and .NET in general) are the most common cause of memory leaks. At least from my experience. In fact, I saw so much memory leaks from events that seeing += in code immediately makes me suspicious.

C# Features: Innovations or Imitations? – Part 3

C# Features: Innovations or Imitations? – Part 3

Initially, C# was born as a strictly typed object-oriented language. It was influenced somewhat by Java and Delphi and was even called a Java imitation by...

9 Must Decisions in Desktop Application Development for Windows

9 Must Decisions in Desktop Application Development for Windows

Desktop application development dominated the software world for many years. However, with the rise of the internet, web applications took over with an incredible pace. When smartphones became popular, mobile applications came to be in huge demand, pushing desktop applications into third place. While the previous statement might be true to startups, there is still an incredible amount of software development happening in desktop applications. Consider programs like Excel, Adobe Photoshop and the Chrome browser.