Visual Studio立即窗口生成任务和线程阻塞问题

时间:2016-02-20 02:48:38

标签: multithreading visual-studio task hang immediate-window

我使用特定工具来检查我的应用。一旦应用程序遇到断点,我可以通过调用某个函数从立即窗口调用我的工具。该工具本身是一个多线程Windows应用程序,因此产生了一些任务。

我面临的问题是,有时从工具安排的某些任务永远不会运行,导致我的工具无限期挂起。我使用ThreadPool.QueueUserWorkItemTask.Run生成任务,它们都会导致工具挂起并且永远不会执行这些任务。如果我使用Thread类,则该工具可以完美运行。

此外,如果正常启动(即不是从立即窗口),该工具(使用任务)工作。因此,只有在我使用“任务”和“立即”窗口时才会出现问题。

因此,我的问题是,某些任务永远不会被执行的原因是什么?我知道立即窗口阻塞所有其他线程并在命中断点的线程上执行命令,但是应该仍然执行立即窗口线程产生的线程/任务,对吧?

我的应用和工具都在C#中。 我正在使用Visual Studio Professional 2015 Update 1。

1 个答案:

答案 0 :(得分:-1)

与逐步调试相比,立即窗口一次只执行单个线程 - 主线程或当前线程。它无法调用新线程或任务。因此,您的工具会卡住。