我想从正在运行的任务中获取堆栈跟踪,以了解在哪里被阻塞。
class Program
{
static void Main(string[] args)
{
Task task = Task.Run((Action)DoSomething);
if (!task.Wait(TimeSpan.FromSeconds(5)))
{
Console.WriteLine($"Timeout from the task {task.Id}.");
Console.WriteLine(DisplayStackTrace(task));
}
Console.Read();
}
static void DoSomething()
{
Console.WriteLine("Being work");
Task.Delay(TimeSpan.FromSeconds(10)).Wait();
Console.WriteLine("End work");
}
static string DisplayStackTrace(Task task)
{
?????
}
}
您能帮我从任务中获取StackTrace吗?
这类似于How can I get stack trace of a currently executing Task?,但这个问题没有答案。