2010-07-06 46 views

回答

4

在Visual Studio中没有这样的选项。你可以做的唯一事情就是在创建它之后立即调用一个Thread对象的Suspend()方法。这对于线程池线程无效。

当你这样做时,编译器会唠叨你,Suspend()是一个过时的方法。它在.NET 1.x的日子里被滥用以同步线程,它无法可靠地执行。这当然正是你在做什么。通过这样做创建的特定问题是,您只是不再以对生产中的工作方式具有代表性的方式调试应用程序。你会隐藏线程竞赛bug。

调试线程错误可能非常困难。几乎唯一合理的方法是使用跟踪。这本身就改变了代码执行的时间,使得错误消失。在调试了一个星期左右之后,退后一步,问自己程序是否使用了太多的线程,并且变得无法维护。

+0

很酷。我也这么想。感觉就像听猫一样! – gb2d 2010-07-08 11:04:23

2

在线程过程的开始处设置一个断点。打开threading window,以便您可以看到所有正在运行的线程。您可以简单地点击线索(如果您想要轻松识别它们,请点名)。

+0

补偿upvote。它没有提供OP的解决方案,但抓住吸管在这里是适当的。 – 2010-07-06 14:56:20

+0

哈哈,谢谢汉斯。你摇滚 – 2010-07-06 15:01:32

相关问题