如何:偵錯 OnStart 方法
您可以逐步執行服務 (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 服務應用程式進行偵錯。