如何从Visual Studio手动终止特定(正在运行)的线程

ate*_*iob 5 .net c# multithreading visual-studio-2010 visual-studio

出于测试目的,我需要从Visual Studio 手动终止命名线程(在调试会话中) - 或者允许我这样做的任何其他工具?

但是ThreadsVisual Studio 2010中的调试窗口在Freeze线程的上下文菜单中只有一个选项,而Sysinternal的ProcessExplorer只列出进程,而不是线程.

有没有办法手动杀死特定(正在运行)的线程?

dsg*_*fin 2

仅仅杀死一个线程并不容易,因为该语言的设计者希望避免以下问题:您的线程获取一个锁,然后在它释放它之前杀死它......现在任何需要该锁的人都会被卡住。

您要做的就是使用一些全局变量来告诉线程停止。您必须在线程代码中手动检查该全局变量,如果您看到它表明您应该停止,则返回。

  • 请注意我的操作中的*“手动”*:我不想以编程方式执行此操作。我只需要从调试器中得到这个。 (2认同)
  • @caesay 这就是我问的原因。:) 如果没有人提出“可以做”的答案,我会接受这个。 (2认同)