在VS2005中调试Windows Service

本文介绍两种调试Windows服务的有效方法:一是通过外部程序控制服务的初始化和启动过程,并注意OnStart方法的时间限制;二是使用trace方法,包括添加调试运行函数、修改程序入口及使用EventLog和Debug.WriteLine记录调试信息。
1. MSDN推荐的方法

  1.1、调试windows服务的初始化、启动

  另写一个程序控制服务的初始化和启动

  注意:OnStart里写Log, OnStart里要在30秒返回. 不然启动就失败了! 所以OnStart里不要放太多代码! 可以用异步或线程.

  1.2、调试windows服务的其他方面

  1 ) 安装您的服务 : intallutils xx.exe

  2) 可从“服务控制管理器”、“服务器资源管理器”或代码启动服务

  3) vs: 设置相关断点,启动调试,再在工具栏中选择 调试->附加到进程..., 选择您的服务, 确定。

  2、trace方法

  2.1、添加调试方法

private static void DebugRun(string[] args)
{
  /*
  初始化服务
  OnStart();
  Console.ReadLine();
  OnStop();
  */
}

  2.2、改写程序入口为如下:

public static void Main(string[] args)
{
  #if DEBUG
   DebugRun(args);
  #else
   /*
   初始化服务
   */
  #endif
}

  2.3、加入2种调试代码

EventLog.WriteEntry("...");
System.Diagnostics.Debug.WriteLine("...");
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值