调试multithreading应用程序

我inheritance了一个在开始时抛出100个线程的应用程序。 这使我的调试生活非常棘手。 有没有办法让Visual Studio跟随一个线程?

您是否尝试在Visual Studio中使用“线程”窗口(在“调试/ Windows”菜单中)?

您可以冻结线程并在它们之间切换

如果可能,我建议在调试模式下将创建的线程数量限制为更易管理的数量,例如3.这样你仍然可以诊断由于线程之间的交互而导致的错误,但是你并没有完全下雪下。

此处的建议也刚刚解决了我的问题。

if you hit a breakpoint, disable it, and then begin stepping you should not stop on a different thread 

调试multithreading程序非常困难。 一旦调试器执行任何操作,程序的行为就会完全改变。 同样“跟随”一个线程将无法找到所有问题。 您必须让所有线程在没有任何中断的情况下运行以分析问题。

所以你必须不使用VS进行调试。 如何在实时应用程序中完成此操作,请查看我的文章CodeProject:实时调试multithreading代码 。 很抱歉只提供一个链接,但在这里复制所有内容只会太长。