如何调试Windows Service

安装成功后需要手动开启服务,因为我们刚设置 serviceInstaller1.StartType 为 Manual
打开windows 服务管理器,找到名为 Service1 的服务,右键属性。点击【启动】按钮

 

windows 调试
1 回到开发环境,选择调试->附加到进程,勾选”显示所有用户进程“
2 找到 WindowsService1.exe 进程(如果没有点击下刷新按钮),选中后点击“附加到进程”按钮。
3 选中 Service1.cs 文件,后按 F7 打开代码视图
4 在所有 str 变量上添加调试断点
5 回到windows服务管理器,找 Service1 服务并选中它,在左侧有一个“暂停”按钮。点击一下
这时,OnPause 方法下的断点命中!OK 达到了调试的目的了

 

注册成功后,启动 Windows服务 时遇到错误:1083 的解决办法
1.查看 Main() 方法中是否启动了指定的服务
ServiceBase[] ServicesToRun;
ServicesToRun = new ServiceBase[]
{
new Service1(),
new Service2() //如果建立多个服务需要添加这段代码
};
ServiceBase.Run(ServicesToRun);

2.确保 ProjectInstaller.cs 视图设计器中的 serviceInstaller1 组件的 ServiceName 属性
与 Service1.cs 组件的 ServiceName 属性一致


添加服务安装成功后自启动功能

1.打开 ProjectInstaller.cs 视图设计器,选中 serviceInstaller1 组件

2.打开 serviceInstaller1 组件的事件窗口,双击 AfterInstall 事件

3.在 serviceInstaller1_AfterInstall 事件方法下添加如下代码

System.ServiceProcess.ServiceController sc = new System.ServiceProcess.ServiceController();
sc.ServiceName = “ExpressDispatchingTrack”; //必须与 ProjectInstaller.cs 视图设计器中的 serviceInstaller1 组件的 ServiceName 属性
一致
sc.Start();

 

 

 

参考http://blog.csdn.net/xxj_jing/article/details/7542654

文章目录
|