调试时,有时您需要附加一个已经在运行的进程,而不是仅仅在调试器中启动应用程序。
我自己通常会调用 Sleep() 或 MessageBox,以便更容易附加调试器。我担心其中一些可能最终会提交到源代码控制。
为了避免这种情况,最好的办法是什么,同时仍然延迟足够的时间,以便您可以将调试器附加到正在运行的进程?
用 an 保护睡眠或消息框#ifdef _DEBUG
是一种方法,但我想知道是否有更好的方法。
使用睡眠,您还会遇到无法及时连接的问题。使用 MessageBox,您可能会遇到问题,您可能正在远程调试,或者调试没有可见 GUI 的进程(例如在 Vista 上作为服务运行)