Получить трассировку стека от запуска Task - PullRequest
2 голосов
/ 01 апреля 2019

Я хочу получить трассировку стека из запущенной задачи, чтобы знать, где она заблокирована.

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 из задачи?

Это похоже на Как получить трассировку стека выполняемой в данный момент Задачи? , но на этот вопрос нет ответа.

...