C# Windows服务程序如何进行调试

 时间:2024-11-02 20:56:29

本篇经验将和大家介绍在C# 中如何进行Windows服务程序调试,希望对大家的工作和学习有所帮助!

工具/原料

已编写好一个Windows服务程序

附加到进程(不推荐)

1、首先要对服务进行安装,然后启动服务,如下图所示:

C# Windows服务程序如何进行调试

2、打开VS项目,选择菜单 调试->附加到进程 选项,如下图所示:

C# Windows服务程序如何进行调试

3、选择服务进程(如果找不到可以勾选显示所有用户进程选项)就可以了,找到服务对应的exe程序,如下图所示:

C# Windows服务程序如何进行调试

4、在附加到进程的同时 OnStart 函数已经执行完毕,所以对 Onstart 无法瓢遥费涓调试。这个可以通过设置启动服务延时来加载调试,只需要在计时器Timer初始化的时候,传递一个参数即可,如下图所示:

C# Windows服务程序如何进行调试

5、注意:正常服务的启动时间为30秒左右,当服务启动时间超过30秒会报错!所以不要在OnStart中做过多的操作,也可以用这种延时的方法启动服务,以防在启动服务时超时。

修改源代码(推荐)

1、找到服务主类中的OnStart方法,由protected override void OnStart(string[] args) { //todo something } 修改成 public void OnStart() { //todo something }如下图所示:

C# Windows服务程序如何进行调试

2、注释掉Program.cs文件中的如下代码: ServiceBase[] Serv坡纠课柩icesToRun; Servic髫潋啜缅esToRun = new ServiceBase[] { new Service1() }; ServiceBase.Run(ServicesToRun); 修改成 Service1 s1 = new Service1(); s1.OnStart();如下图所示:

C# Windows服务程序如何进行调试

3、在OnStart方法中利用F9打断点,然后按下F5就可以进行调试跟踪代码了,如下图所示:

C# Windows服务程序如何进行调试

4、注意:调试时,需要将先前启动的服务首先停止。程序代码编写调试完成后,记得将第1和2步骤的修改还原即可。

  • MyEclipse激活教程
  • 如何解决ASP.NET未能加载类型的问题
  • vs2015怎么创建ASP.NET Web应用程序(C#)
  • 如何在ubuntu 18.04安装tomcat 8.5.65?
  • Python selenium库的三种等待方法
  • 热门搜索
    怎么增强免疫力 白头发怎么变黑 微博怎么发 脚底脱皮是怎么回事 纸船怎么折 鼻塞怎么办 平均速度怎么求 浑身无力是怎么回事 葭怎么读 z怎么读