在没有调试器的计算机上调试Windows服务

时间:2013-11-25 16:42:26

标签: windows debugging service

我正在为我的应用程序创建Windows服务。这一切都完全适用于我的开发机器,但当我尝试在我的测试机器上启动它时(使用InnoSetup创建的安装程序),我得到的消息是该过程突然停止。在查看一些细节时,我看到我得到了ArgumentException,但现在知道在哪里。

我已经查看了debugging Windows services,这在我的开发机器上是可以的,但不适用于我的测试机。

我可以在我的程序中捕获Exception,但该怎么办呢?是否有某种方式可以与系统日志或尝试启动它的services.msc程序进行通信?

1 个答案:

答案 0 :(得分:0)

我采用了老式的调试方式:将消息打印到文件中:

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