如何枚举C#中的所有托管线程?
是否可以枚举C#中的所有托管线程? 当您在调试时遇到断点时,Visual Studio似乎能够执行此操作。 在“线程”窗口中,它显示所有正在运行的线程的列表,包括托管名称。 有谁知道这是怎么回事?
调试器往往能够做“正常”代码不能做的事情。 如果使用分析/调试API,您可能会发现可以执行此操作,但我不相信您可以从“普通”.NET代码中执行此操作。
这听起来像是“ 如何使用Name属性在.NET中枚举线程? ” – 如果是这样,简短的回答是“自己跟踪自己的线程” – 即在List
或类似的情况下。
看一下Managed Stack Explorer :
MSE通过在请求堆栈跟踪时快速附加到进程并且在第二个分离堆栈跟踪已被检索的情况下工作。 这样,最小化了过程正常操作中的干扰。
不幸的是,这意味着必须通过外部流程完成。
类似的工具是StackDump ,它使用MDbg生成转储。
- ServiceStack:测试OrmLite,与NuGet一起安装,但是我收到错误“FileNotFoundException”
- C#:如何通过MemoryStream将多页TIFF转换为一个长图像?
- nunit如何成功等待async void方法完成?
- 错误:使用Matlab .NET构建器时,’下标索引必须是实数正整数或逻辑’
- 多个线程将元素添加到一个列表。 为什么列表中的项目总是少于预期?
- Winforms中带有水平文本的垂直制表符控件
- 如果类型在运行时未知,您可以在C#中使用generics方法吗?
- 是否可以将setup.exe和setup.msi图标更改为其他图标?
- 如何在SpeechSynthesizer中使用词典?