2010-05-18 62 views
2

我是编程新手。我只知道开始调试之前。也许开始一些小应用程序的调试更好开发。与“开始调试”相比,“附加到进程”有什么优势?

我发现Visual Studio IDE提供了另一种附加到使用过程的方法。 当&为什么我必须使用附加调试?

如多线程应用程序调试。客户/服务应用程序调试。等谢谢。

回答

2

附加到一个进程中运行你的代码,如果你不知道是有用的” t想要从开始过程开始进行调试。例如,调试通常会减慢执行速度,因此可以更快地启动应用程序,使其进入出现错误的状态,然后附加调试器。

如果您已经有一种启动不想或不能导入到IDE的进程的外部方式,这也很有用。

3

有时您需要调试由另一个程序启动的进程。

例如,您需要一个可靠的解决方案,为了防止访问冲突,内存泄漏和其他几乎不可恢复的内容,您需要一个主程序和多个工作程序。主程序启动工作程序并将参数传递给它。如何调试除主程序以外的任何其他程序都不打算启动的工作程序?

您使用“附加到该过程”。

通常,您可以这样做:插入阻止工作程序一段时间的语句 - 例如,请致电Sleep() 15秒。然后,你请求主程序启动工作程序。当工作人员程序启动时,它会阻塞,现在您有15秒的时间来连接它。

这样你就可以调试几乎所有的问题 - 早期启动阶段出现的问题,错误的参数等等,你无法可靠地再现“运行调试”。

2

从VS开始调试将启动VS Web服务器的一个实例并将调试器附加到它。

附加到进程,您可以附加到任何进程来调试,通常你会这样对你的w3wp.exe的实例在IIS

2

当您无法从Visual Studio运行应用程序时,主要使用附加到进程。

例如,如果它是一个服务,或者它是一个运行了很长时间的进程,现在你想开始调试它。

有时候您还想调试一个远程进程,而不是在您的机器上 - 您可以使用附加进程来执行此操作。

相关问题