原文:http://blog.sina.com.cn/s/blog_49458c270100yrpj.html
标签: windows服务windowsserviceservice调试 | 分类: 技术总结 |
Windows服务的调试相对比较困难,因为必须得先安装到操作系统中,这样就脱离了IDE了,所以调试相对麻烦一些。
1.调试前的准备工作,为了能顺利的进行调试,需要启动一个服务“Terminal Services”。
2.将正在编写的Windows服务中的OnStart的方法中,最前面添加一条,让线程休息30秒的语句;在休息的后面的语句上加上断点。
3.重新生成Windows服务工程。
4.使用命令行命令installutil安装Windows服务。
5.打开服务管理器,找到刚才安装的Windows服务。
6.启动这个服务。
7.在IDE中选择“调试”菜单,选择“附加到进程”。
8.在“可用进程”列表中找到刚才启动的服务,附了个加。
9.这是还没有执行到断点的时候的情况。
10.这是命中断点的时候的情况。
到此,咱们的Windows服务就可以进行调试了。
关键点1:Terminal Services必须启动。
关键点2:要调试的服务必须预先安装。
关键点3:必须在OnStart的第一句之前写上让线程休息一段时间,因为一旦服务启动,那么一定调用了OnStart方法,如果这时候再去手忙脚乱的附加到进程,可能等你附加完成,断点的语句早都已经执行过了,所以当服务启动的时候,先休息一会是必要的,这样,我们的调试过程就不会手忙脚乱的了。