我想从正在运行的任务中获取堆栈跟踪,以了解阻塞的位置。
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?
,但这个问题还没有答案。