可以杀死/终止Visual Studio调试器中的某个线程?

时间:2013-11-13 09:23:27

标签: .net multithreading visual-studio visual-studio-debugging visual-studio-2013

目前正试图寻找潜在的竞争条件,我在Visual Studio调试器中暂停了我的WinForms应用程序。

“线程”窗口显示了很多线程,其中一个我怀疑是阻塞的根本原因。

enter image description here

我现在想做以下事情:

  1. 选择一个主题
  2. 右键单击主题
  3. 从上下文菜单中选择“Kill thread”
  4. 不幸的是,我找不到允许我这样做的选项。

    我的问题:

    是否可以在Visual Studio 2013调试器中终止/终止某个线程?

3 个答案:

答案 0 :(得分:1)

从Microsoft Technet我发现Process Explorer可以解决您的问题:。

答案 1 :(得分:0)

要杀死一个线程并不容易,因为该语言的设计者想要避免以下问题:你的线程需要锁定,然后你才能释放它...现在任何需要锁定的人都会卡住了。

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

请注意,你所要求的是不可能的。

答案 2 :(得分:0)

您可以简单地冻结线程(为什么要完全杀死它?)enter image description here