视窗服务调试问题
本文关键字:问题 调试 服务 | 更新日期: 2023-09-27 17:56:09
我已经创建了Windows服务,我尝试调试我使用的Windows服务 在调试选项卡下单击附加到进程选择Myservice.exe它不会通过断点。
在启动事件的服务中,我编写了以下代码
protected override void OnStart(string[] args)
{
Console.WriteLine("Press Enter to terminate ...");
}
请帮助我如何解决此问题....
使用以下
方法。在您的代码上。这是迄今为止在服务库上设置断点的最简单方法。
Debugger.Break();
protected override void OnStart(string[] args)
{
Debugger.Break();
Console.WriteLine("Press Enter to terminate ...");
}
您还可以使用类似以下内容来提示在调试模式下附加调试器:
#if DEBUG
if (!Debugger.IsAttached)
{
Debugger.Launch();
}
#endif
您甚至可以在main方法中使用此代码,它将在调试模式下将服务作为普通应用程序运行:
public static void Main()
{
var service = new YourService();
#if DEBUG
service.Start();
Console.ReadLine();
service.Stop();
#else
var ServicesToRun = new System.ServiceProcess.ServiceBase[] { service };
System.ServiceProcess.ServiceBase.Run(ServicesToRun);
#endif
}