Я хочу получить трассировку стека из запущенной задачи, чтобы знать, где она заблокирована.
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 из задачи?
Это похоже на Как получить трассировку стека выполняемой в данный момент Задачи? , но на этот вопрос нет ответа.