Как я могу отследить поток, который все еще работает после завершения теста? - PullRequest
2 голосов
/ 27 января 2011

Я использую NUnit с Resharper. Когда я заканчиваю один тест, процесс JetBrain: Resharper все еще работает, и когда я записываю его потоки, все еще есть некоторые рабочие потоки. Могу ли я отследить, что это за нить? В настоящее время я использую следующий код, но он дает мне только идентификатор потока. Мне нужно имя темы.

Process[] allProcs = Process.GetProcesses();

foreach (Process proc in allProcs)
{
    if (proc.ProcessName.StartsWith("Jet"))
    {
        ProcessThreadCollection myThreads = proc.Threads;
        Console.WriteLine("process: {0},  id: {1}", proc.ProcessName, proc.Id);

        foreach (ProcessThread pt in myThreads)
        {
            Console.WriteLine("  thread:  {0}", pt.Id);
            Console.WriteLine("    started: {0}", pt.StartTime.ToString());
            Console.WriteLine("    CPU time: {0}", pt.TotalProcessorTime);
            Console.WriteLine("    priority: {0}", pt.BasePriority);
            Console.WriteLine("    thread state: {0}", pt.ThreadState.ToString());
        }
    }
}

Вывод из кода выше:

process: JetBrains.ReSharper.TaskRunner.MSIL,  id: 1884

thread:  3600
started: 27.1.2011 13.26.55
CPU time: 00:00:05.8812377
priority: 8
thread state: Running

1 Ответ

3 голосов
/ 27 января 2011

Если процесс запуска тестов ReSharper все еще существует, подключите к нему отладчик и «разорвите все», чтобы увидеть текущие выполняющиеся потоки.

Присоедините отладчик Visual Studio к процессу

Ниже показано, как подключить отладчик VS к работающему процессу.Выберите бегущий тест ReSharper при выборе того, какой процесс также присоединить.

http://msdn.microsoft.com/en-us/library/c6wf8e4z.aspx

Break All

При выборе этого параметра будут приостановлены все запущенные потокии позволяют вам просматривать их.

Меню -> Отладка -> Разорвать все

Просмотр тем

Темы "The""окно дает вам список всех потоков для текущего процесса, который отлаживается.

Меню -> Отладка -> Windows -> Потоки

Подробнее в окне "Потоки":

http://msdn.microsoft.com/en-us/library/w15yf86f.aspx

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