目前试图寻找潜在的竞争条件,我在 Visual Studio 调试器中暂停了我的 WinForms 应用程序。
线程窗口显示了很多线程,我怀疑其中之一是阻塞的根本原因。
我现在想做以下事情:
- 选择一个线程
- 右键单击线程
- 从上下文菜单中选择“杀死线程”
不幸的是,我没有找到可以让我做类似事情的选择。
我的问题:
是否可以在 Visual Studio 2013 调试器中杀死/终止某个线程?
目前试图寻找潜在的竞争条件,我在 Visual Studio 调试器中暂停了我的 WinForms 应用程序。
线程窗口显示了很多线程,我怀疑其中之一是阻塞的根本原因。
我现在想做以下事情:
不幸的是,我没有找到可以让我做类似事情的选择。
我的问题:
是否可以在 Visual Studio 2013 调试器中杀死/终止某个线程?
我从 Microsoft Technet 中找到了可以解决您的问题的Process Explorer 。
仅仅杀死一个线程并不容易,因为该语言的设计者希望避免以下问题:您的线程获取一个锁,然后在它释放它之前杀死它......现在任何需要该锁的人都会卡住。
您要做的是使用一些全局变量来告诉线程停止。您必须在线程代码中手动检查该全局变量,如果看到它表明您应该停止,则返回。
请注意,您所要求的内容是不可能的。