【发布时间】:2012-12-03 20:50:46
【问题描述】:
我有一个多线程程序,我在其中设置了许多断点。经常,当程序遇到断点时,我会看到一行代码以绿色突出显示,表示这是程序从当前函数返回时要执行的下一行代码。但是,被命中的断点实际上是在另一个线程上,在另一个源文件中。尽管实际上是导致中断的线程,但该行并未以黄色(或其他任何内容)突出显示。
到目前为止,我发现解决此问题的唯一方法是停止程序执行,清理解决方案并重建整个解决方案。这大约有 70% 的效率,但我经常需要多次这样做。
可能相关的其他信息:程序是用 C# 编写的,有问题的代码是 MVC 网站调用的 WCF 服务。所有这些都在我的本地机器上的 IIS7 下运行。
【问题讨论】:
-
您知道,当执行暂停时,您可以选择查看堆栈跟踪/源代码突出显示/所有其余信息的线程。如果它不交换到命中断点的线程会很烦人,但是您不需要重新构建/重新部署才能看到它,只需打开“线程”选项卡并选择它即可。
-
实际上,中断的线程并没有显示在线程窗口中。
标签: c# multithreading wcf model-view-controller