Windows服务中的Debug.WriteLine到OutputDebugString

时间:2017-07-26 19:23:50

标签: c# debugging windows-services outputdebugstring

上下文

注意: log4net已从问题中分离出来,只是为更多诊断事实编写上下文

我正在使用log4net RollingFileAppender和DebugAppener。该应用程序可以在控制台模式下启动,但也可以作为服务安装。当启动stanalone时,所有DebugAppener都会通过Mark Russinovich的DebugView确认OutputDebugString。 作为服务运行时,只写入文件日志而不输出OutputDebugString。

诊断

  • 与log4net或DebugAppender相关的问题。同样的 问题发生在纯Debug.WriteLine(" Hello world")调用
  • 该服务作为LocalSystem运行(因此可能不是权限问题)
  • 文件正确写入

问题

我错过了什么?如何作为服务运行时如何写入OutputDebugString(使用log4net DebugAppender)?

1 个答案:

答案 0 :(得分:1)

两个可能的案例是

  • 确保DebugView以管理员身份运行
  • 选中“捕获”菜单中“捕获全局Win32”的复选标记

它也应该显示服务的调试消息。