如何:调试 OnStart 方法

更新:2007 年 11 月

本主题适用于:

版本

Visual Basic

C#

C++

Web Developer

速成版

主题适用 主题适用

仅限托管

主题适用

标准版

主题适用 主题适用

仅限托管

主题适用

专业团队版

主题适用 主题适用

仅限托管

主题适用

表格图例:

主题适用

适用

主题不适用

不适用

主题适用,但命令默认情况下隐藏

默认情况下隐藏的一条或多条命令。

通过单步执行 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 服务应用程序

请参见

概念

调试器安全

其他资源

调试托管代码