共用方式為


HOW TO:偵錯 OnStart 方法

更新:2007 年 11 月

這個主題適用於:

版本

Visual Basic

C#

C++

Web Developer

Express 版

標題適用於 標題適用於

僅限 Managed

標題適用於

Standard 版

標題適用於 標題適用於

僅限 Managed

標題適用於

Pro/Team 版

標題適用於 標題適用於

僅限 Managed

標題適用於

表格圖例:

標題適用於

套用

標題不適用於

不套用

預設會套用主題但隱藏命令

預設隱藏的命令。

您可以逐步執行服務 (Service) 的執行個體來偵錯 Windows 服務的建構函式。您可以藉由啟動服務,並將偵錯工具附加到服務處理序來偵錯 Windows 服務自身。但是,若要偵錯 Windows 服務的 OnStart 方法,您必須加入幾行程式碼模擬該服務。如需詳細資訊,請參閱 ServiceBase.OnStart

若要偵錯 OnStart 方法中的問題

  • 建立一個服務模擬 (例如一個主控台應用程式 (Console Application)) 來判斷問題出在何處。

    例如,假設您擁有一個像下面這樣的 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 服務應用程式進行偵錯

請參閱

概念

偵錯工具安全性

其他資源

偵錯 Managed 程式碼