2013-11-25 136 views
0

我正在爲我的應用程序創建Windows服務。它在我的開發機器上都能正常工作,但是當我試着在我的測試機器上啓動它時(使用InnoSetup創建的安裝程序),我收到消息突然停止了這個過程。當查看一些細節時,我看到我得到一個ArgumentException,但現在想到哪裏。在沒有調試器的機器上調試Windows服務

我已經看過debugging Windows services,這在我的開發機器上是可以的,但對我的測試機來說沒有問題。

我可以在我的程序中捕捉到Exception,但是如何處理它?有什麼方法可以與系統日誌或試圖啓動它的services.msc程序進行通信?

回答

0

我去調試的老式的方法:打印消息記錄到文件:

try { 
    ServiceBase.Run(theService); 
} catch (Exception e) { 
    System.IO.WriteAllText(@"C:\debug.log", e.Message+"; "+e.StackTrace); 
}