Debugging async call stack in Rider

Answered

Rider 2018.3.4, dotnet core 2.2

I can't figure out how to debug async stack in Rider. Rider only shows the last async method call for me in debugger, I cannot navigate to previous stack frames, I cannot figure out from where this method was called.

For example, I have a simple "Hello World" project like this

using System.Threading.Tasks;

namespace ConsoleApp2
{
class Program
{
static void Main(string[] args)
{
Method1(1).Wait();
}

static async Task Method1(int i)
{
await Method2(i + 1);
}

static async Task Method2(int i)
{
await Method3(i + 2);
}

static async Task Method3(int i)
{
await Task.Delay(100);
}
}
}

And this is what Rider debugger is showing me if I put a breakpoint after "await Task.Delay(100)".

Interestingly, VSCode shows me what I expect and I can switch to previous stack frames in it:

Is it me doing something wrong or does Rider simply not support this? Does Rider have adding this feature in the Roadmap? It looks pretty basic and essential for productive work.

3 comments
Comment actions Permalink

I don't think you are doing anything wrong... it is very annoying!

I am disappointed no-one from Jetbrains has responded so I have created a bug:

https://youtrack.jetbrains.com/issue/RIDER-28264

 

0
Comment actions Permalink

Hello all. 

Please accept my apologies for not replying at the proper time. We appreciate for creating a YouTrack issue. Our team will take a look at your problem. 

Best Regards, 

Alexandra 

0
Comment actions Permalink

Thanks Alexandra!

0

Please sign in to leave a comment.