debug-recipes icon indicating copy to clipboard operation
debug-recipes copied to clipboard

My notes collected while debugging various problems in .NET and native applications.

Debug Recipes

It is a repository of my field notes collected while debugging various .NET application problems on Windows (mainly) and Linux. They do not contain much theory but rather describe tools and scripts with some usage examples.

The :floppy_disk: icon before a section name means that materials in a given section are no longer updated and may be outdated.

I hope you will find the materials helpful. Any contribution is welcome.

:point_right: I also authored the .NET Diagnostics Expert course, available at Dotnetos :hot_pepper: Academy. Apart from the theory, it contains lots of demos and troubleshooting guidelines. Check it out if you're interested in learning .NET troubleshooting. 👈

General advice

Make sure you have valid symbols configuration in your system. If you are debugging a .NET application you may first check the .NET debugging tips.

Troubleshooting

Application execution problems

  • Exceptions and Windows errors
  • Network connectivity problems
  • Managed memory leaks
  • Monitoring CPU usage (on- and off-CPU time)
  • (Dead)locks
  • Assembly loading issues

Database connectivity

  • :floppy_disk: Debugging ADO.NET
  • :floppy_disk: Tracing MySql connector

.NET Web Applications

  • Diagnosing ASP.NET Core
  • :floppy_disk: Profiling ASP.NET
  • :floppy_disk: Diagnosing Nancy
  • :floppy_disk: Debugging ASP.NET

System

  • Debugging Windows kernel

Databases

MS SQL Server MySQL
Slow queries X X
Blocked requests X X
Indexes problems X X
I/O problems X
Server problems X X

IIS

  • :floppy_disk: Troubleshooting IIS7+
  • :floppy_disk: Troubleshooting IIS6
  • :floppy_disk: Troubleshooting IIS Express

Tools & techiniques

  • WinDbg
  • LLDB
  • :floppy_disk: Visual Studio (debugging)
  • Basic reversing tips
  • Reversing in PowerShell