Можно ли перечислить все управляемые потоки в C #? Visual Studio, кажется, может сделать это, когда вы достигаете точки останова во время отладки. В окне «Потоки» отображается список всех запущенных потоков, включая управляемые имена. Кто-нибудь знает, как это происходит?
Отладчики часто могут делать то, что «нормальный» код не может. Возможно, вы обнаружите, что можете сделать это, если используете API профилирования / отладки, но я не верю, что вы можете сделать это из «нормального» кода .NET.
Это звучит как дубликат " Как перечислить потоки в .NET, используя свойство Name? " - Если это так, краткий ответ: "Следите за своими собственными потоками самостоятельно", т.е. в List<Thread> или аналогичный.
List<Thread>
Взгляните на Управляемый стека Explorer :
MSE работает путем быстрого подключения к процесс, когда трассировка стека просил и отрыв второй трассировка стека была получена. Таким образом, вмешательство в нормальная работа процесса сведено к минимуму.
К сожалению, это означает, что должен выполнить внешний процесс.
Аналогичным инструментом является StackDump , который использует MDbg для создания дампа.