Windows Service调试方法小结

方法1:log记录
这是一个通用的调试方法,效率比较低,但比较实用,通过查看日志,总能达到调试的目的
方法2:附加到进程
这是Windows Service程序调试的常用方法,缺点是对Windows环境要求较高,也有失灵的时候
方法3:编辑Main()方法
1.注释原有程序自动生成的Main()方法体
2.按照实际的服务名创建实例,改变OnStart()方法修饰符为public,使得对象可以直接调用。
static void Main()
        {
            //ServiceBase[] ServicesToRun;
            //ServicesToRun = new ServiceBase[]
            //{
            //    new Service1()
            //};
            //ServiceBase.Run(ServicesToRun);
            Service1 service = new Service1();
            service.OnStart();

        }

  

//protected override void OnStart(string[] args)
        public  void OnStart()
        {
            FileStream fs = new FileStream(@"f:\xx.txt", FileMode.OpenOrCreate, FileAccess.Write);
            StreamWriter sw = new StreamWriter(fs);
            sw.BaseStream.Seek(0, SeekOrigin.End);
            sw.WriteLine("WindowsService: Service Started" + DateTime.Now.ToString() + "\n");

            sw.Flush();
            sw.Close();
            fs.Close();

  这样,就可以设置断点,按F5调试了

 

posted @ 2022-12-28 13:50  麦哥编程  阅读(240)  评论(0编辑  收藏  举报