调试windows服务的一点经验【补充】
2007-07-14 15:11
218 查看
上次写过一个调试windows服务的一点经验的日志。这段时间也在做一个和Windows Service有关的东西。又有了些经验,所以拿来和大家分享下。调试windows服务,采用的一般方法,就是设好断点,然后启动服务,在IDE里面直接通过进程列表,把Service的exe附加到IDE上面来调试,这个方法在上一个日志也提到过。其实在.NET建立的服务程序中,还有一个方法,也是之前没有想到的方法,更为简单 :)
// 进程的主入口点
static void Main()
{
System.ServiceProcess.ServiceBase[] ServicesToRun;
// 同一进程中可以运行多个用户服务。若要将
//另一个服务添加到此进程,请更改下行
// 以创建另一个服务对象。例如,
//
// ServicesToRun = New System.ServiceProcess.ServiceBase[] {new Service1(), new MySecondUserService()};
//
ServicesToRun = new System.ServiceProcess.ServiceBase[] { new Service1() };
System.ServiceProcess.ServiceBase.Run(ServicesToRun);
}
也就是在Main方法,服务程序开始的地方,如上,把默认的创建并运行服务的代码全部注释掉,然后直接生成本类的一个实例,然后调用OnStart方法就可以了,这里要注意的是OnStart方法是一个受保护的无返回值的方法,而Main函数是静态方法,所以需要把OnStart也改动一下,设置为静态函数。这样的话,服务和一般的.net应用程序就一样了,调试的时候更加方便,直接F5就可以了 :) 不过在完成调试过后,一定记得要把上面的改动还原
![](http://www.xiaozhou.net/cooldog/images/smilies/icon_cool.gif)
改动后的代码如下:
// 进程的主入口点
static void Main()
{
Service1 obj=new Service1();
obj.OnStart();
}
这个方法虽然有点投机,不过确实能够节省很多步骤,让调试服务和调试一般的应用程序那样方便!值得推荐
更多分享请关注:软信网-编程-http://www.iis365.net.cn
// 进程的主入口点
static void Main()
{
System.ServiceProcess.ServiceBase[] ServicesToRun;
// 同一进程中可以运行多个用户服务。若要将
//另一个服务添加到此进程,请更改下行
// 以创建另一个服务对象。例如,
//
// ServicesToRun = New System.ServiceProcess.ServiceBase[] {new Service1(), new MySecondUserService()};
//
ServicesToRun = new System.ServiceProcess.ServiceBase[] { new Service1() };
System.ServiceProcess.ServiceBase.Run(ServicesToRun);
}
也就是在Main方法,服务程序开始的地方,如上,把默认的创建并运行服务的代码全部注释掉,然后直接生成本类的一个实例,然后调用OnStart方法就可以了,这里要注意的是OnStart方法是一个受保护的无返回值的方法,而Main函数是静态方法,所以需要把OnStart也改动一下,设置为静态函数。这样的话,服务和一般的.net应用程序就一样了,调试的时候更加方便,直接F5就可以了 :) 不过在完成调试过后,一定记得要把上面的改动还原
![](http://www.xiaozhou.net/cooldog/images/smilies/icon_cool.gif)
改动后的代码如下:
// 进程的主入口点
static void Main()
{
Service1 obj=new Service1();
obj.OnStart();
}
这个方法虽然有点投机,不过确实能够节省很多步骤,让调试服务和调试一般的应用程序那样方便!值得推荐
更多分享请关注:软信网-编程-http://www.iis365.net.cn
相关文章推荐
- 调试windows服务的一点经验【补充】
- 调试windows服务的一点经验【补充】
- 调试windows服务的一点经验
- DELPHI调试WINDOWS服务的一点心得(转)
- DELPHI调试WINDOWS服务的一点心得(转)
- C# Windows Service服务的创建和调试
- 调试windows服务最简单的方法之一
- C# VS 2010创建、安装、调试 windows服务(windows service)
- Windows 7上成功安装Oracle 10g的一点经验
- C# windows 服务 创建 以及调试
- 使用windows控制台调试服务的方法
- windows服务开发(二、调试)
- windows服务的创建、安装、调试全过程及引发的后续学习
- 关于Windows Workflow Foundation 调试时的经验小解(不断添加)
- Windows服务 示例简要说明(系统事件日志、运行批处理、安装卸载、启动调试)
- Windows终端服务的一点发现
- 对 WebBrowser 和 AxWebBrowser 两个控件使用经验的一点补充
- 本地计算机上的XXX服务启动后又停止了——Windows Service服务调试(二)
- 【经验】Windows 安装 Redis服务
- C# VS 2010 创建、安装、调试 windows服务(windows service)