我是编程新手。 我知道之前只有启动调试。也许开始调试适合一些小应用程序开发得更好。
我发现Visual Studio IDE提供了另一种附加到进程使用的方法。 当&为什么我必须使用附加调试?
如多线程应用程序调试。客户端/服务应用调试。等等。谢谢。
答案 0 :(得分:3)
有时您需要调试由另一个程序启动的进程。
例如,您需要一个可靠的解决方案,并且为了防止访问冲突,内存泄漏和其他几乎无法恢复的内容,您有一个主程序和几个工作程序。主程序启动工作程序并将参数传递给它。如何调试一个除了主程序之外不能启动的工作程序?
您使用“附加到处理”。
通常你这样做:插入一个阻止工作程序一段时间的语句 - 例如,调用Sleep()
15秒。然后你请主程序启动工作程序。当工作程序启动时,它会阻塞,你现在有15秒的时间来连接它。
通过这种方式,您几乎可以调试任何问题 - 早期启动阶段的问题,错误的参数等,您无法通过“运行调试”来可靠地重现这些问题。
答案 1 :(得分:2)
从VS启动调试启动VS webserver的实例并将调试器附加到它。
附加到进程允许您附加到任何进程并对其进行调试,通常您可以对运行IIS中的代码的w3wp.exe实例执行此操作
答案 2 :(得分:2)
如果您不想从启动进程开始直接调试,那么附加到进程非常有用。例如,调试通常会降低执行速度,因此可以更快地启动应用程序,将其置于出现错误的状态,然后附加调试器。
如果您已经有一个外部方法来启动您不想要或不能导入IDE的进程,那么它也很有用。
答案 3 :(得分:2)
当您无法从Visual Studio运行应用程序时,主要使用附加到进程。
例如,如果它是一个服务,或者它是一个已运行很长时间的进程,现在你想开始调试它。
有时您也想要调试远程进程,而不是在您的计算机上进行调试 - 您可以使用attach to process来执行此操作。