上周调试Win7下的一个服务程序,以前都是用Debugbreak()直接可以进入调试的,但这次直接退出了。
查了一下,这样设置一下就可以:
控制面板->操作中心->维护->检查问题报告的解决方案->设置
每次发生问题时,在检查解决方案之前先询问我
保存设置后,就可以进入断点了,再次鄙视微软。
后来,又发现,即使设置后,仍然无法响应断点,没办法,只好用比较挫的代码搞定了:
//在第一个DebugBreak()前面,添加下面的语句 while(!IsDebuggerPresent()) { Sleep(100); } DebugBreak();
这样,服务启动后,会一直等待调试器。启动服务后,手动通过VS、任务管理器或Process Explorer附加到进程,就可以对启动的服务进行调试了。