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 服務應用程式進行偵錯。