How to cope with the bad C# debugging experience?

I have tried to use Rider few times professionally. Some features are really great, more intuitive and faster to use than in Visual Studio. The Rider UI feels more aligned to my needs and lets me get things done faster than Visual Studio. But then there is debugging, which is one of the most critical feature for me. When debugging does not work reliably, I find myself unable to trust the IDE. Too many times have I forced to open Visual Studio to double check something when trying to debug a problem. And too many times the problem was immediately understandable, when using Visual Studio.

The main issue for me is that Rider is unable to stop at the proper line of code on exceptions in async code. Either it stops on some library code when external code debugging is enabled, or it does not stop at all. Also when it does stop, the exception details are displayed without the pop up window that is showed while debugging synchronous code. I have reinstalled the IDE, reset the settings and changed the settings so many times, that I'm sure they are not to blame.

Rider doesn't seem to debug async code reliably and these days everything we built is async. I created an issue for one of the problems. When browsing through the issue tracker history, I get a picture that debugging async code has never worked reliably. This is of course my interpretation. But, there are dozens of bugs resolved around async code debugging and still even the most simple application seems to cause difficulty for Rider. How is this even possible?

Rider, when it is working properly, feels such an amazing IDE and I would love to use it, but after losing trust, I find myself unable to use it. Switching between two IDEs is a suboptimal solution, also economically. For now, I'm sticking with Visual Studio.

Please help me understand. Am I doing something wrong? How do you cope with bad the debugging experience?


1 comment

Thanks for your comments. Since we have a lot of features and fixes that are planned in the current release, the issue you mentioned will be put on hold until the next 2024.2 release. Please allow us some time to address and fix this problem. 


Please sign in to leave a comment.