如何:调试 OnStart 方法
通过单步执行 Windows 服务的实例,可以调试该服务的构造函数。 通过启动 Windows 服务并将调试器附加到服务进程,可以调试 Windows 服务本身。 然而,若要调试 Windows 服务的 OnStart 方法,您必须添加几行代码以模拟该服务。 有关更多信息,请参见 ServiceBase.OnStart。
调试 OnStart 方法中的问题
创建服务(例如控制台应用程序)的模拟以确定问题所在。
例如,假定您有一个 Visual C# Windows 服务,如下所示:
public class ManagedWindowsService : System.ServiceProcess.ServiceBase { // // designer and user generated methods and properties // public static int main(String[] args) { ServiceBase.Run( new ManagedWindowsService() ); } }
添加下列代码行以调试 OnStart 方法:
public static int main(String[] args) { (new ManagedWindowsService()).OnStart(); // allows easy debugging of OnStart() ServiceBase.Run( new ManagedWindowsService() ); }
该服务不会在此模式下运行,但您可以调试 OnStart 方法并验证它是否按预期的方式运行。
有关更多信息,请参见调试 Windows 服务应用程序。