调试多线程应用程序

时间:2010-12-06 09:08:44

标签: c# multithreading

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

4 个答案:

答案 0 :(得分:17)

您是否尝试过使用Visual Studio中的“Threads”窗口(在Debug / Windows菜单中)?

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

答案 1 :(得分:1)

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

答案 2 :(得分:1)

here中的建议也解决了我的问题。

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

答案 3 :(得分:0)

调试多线程程序非常困难。一旦调试器执行任何操作,程序的行为就会完全改变。还"跟随"只有一个线程无法找到所有问题。您必须让所有线程运行而不会中断以分析问题。

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

相关问题