Как я могу перечислить все управляемые потоки в C #? - PullRequest
23 голосов
/ 21 января 2009

Можно ли перечислить все управляемые потоки в C #? Visual Studio, кажется, может сделать это, когда вы достигаете точки останова во время отладки. В окне «Потоки» отображается список всех запущенных потоков, включая управляемые имена. Кто-нибудь знает, как это происходит?

Ответы [ 3 ]

6 голосов
/ 21 января 2009

Отладчики часто могут делать то, что «нормальный» код не может. Возможно, вы обнаружите, что можете сделать это, если используете API профилирования / отладки, но я не верю, что вы можете сделать это из «нормального» кода .NET.

5 голосов
/ 21 января 2009

Это звучит как дубликат " Как перечислить потоки в .NET, используя свойство Name? " - Если это так, краткий ответ: "Следите за своими собственными потоками самостоятельно", т.е. в List<Thread> или аналогичный.

2 голосов
/ 28 июня 2010

Взгляните на Управляемый стека Explorer :

MSE работает путем быстрого подключения к процесс, когда трассировка стека просил и отрыв второй трассировка стека была получена. Таким образом, вмешательство в нормальная работа процесса сведено к минимуму.

К сожалению, это означает, что должен выполнить внешний процесс.

Аналогичным инструментом является StackDump , который использует MDbg для создания дампа.

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