7

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

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

在此处输入图像描述

我现在想做以下事情:

  1. 选择一个线程
  2. 右键单击线程
  3. 从上下文菜单中选择“杀死线程”

不幸的是,我没有找到可以让我做类似事情的选择。

我的问题:

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

4

3 回答 3

2

我从 Microsoft Technet 中找到了可以解决您的问题的Process Explorer 。

于 2013-11-13T10:04:48.047 回答
0

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

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

请注意,您所要求的内容是不可能的。

于 2013-11-13T09:27:53.533 回答
0

你可以简单地冻结一个线程(为什么你需要完全杀死它?)在此处输入图像描述

于 2020-10-04T14:18:33.483 回答