C#写服务怎么调试

2024-11-24 21:16:35
推荐回答(1个)
回答1:

第一种方案:使用附加至进程,直接附加到服务中即可。但这种方式不大适合未处理错误崩了的情况

第二种方案:
1. 更改项目的输出类型由Windows 应用程序为控制台应用程序
2. 在调试设置页面启动选项的命令行参数中随意输入几个字符,如DEBUG
3. 关键的地方来了,转到Program.cs页面的Main函数处,手动加入一个参数,如static void Main(string[] args)
4. 在Main中更改代码
if(args.Length==0)//这是服务启动的条件
{
//将原有生成的启动服务的代码拷贝至此处
}
else//即有启动选项的命令行参数DEBUG了
{
//将服务中的类当作一个普通类来使用即可,如
***Service srv = new ***Service();
srv.DoSomeThing();
Console.Read();
}
5. 调试时,直接在项目处点击鼠标右键,选择 调试—启动新实例,这样就进入了else模式,就可以不用作为服务来运行了。