我在远程计算机上实时调试Windows服务时遇到问题。该机器位于防火墙后面,只能通过远程桌面访问。我通过我的代码包含Debug.WriteLine语句,而不是Console.WriteLine。不久前,我遇到了一个名为Debug View的Microsoft应用程序。它在调试Forms和WPF应用程序时很有用,但它不会显示正在运行的服务的Debug.WriteLine语句。如果我能看到这些调试语句,我会非常高兴。有没有办法做到这一点?
注意,项目是在调试模式下编译的,因为我可以在服务安装期间看到Debug View中的调试语句。
答案 0 :(得分:11)
以Debug View
的身份运行Administrator
,选择Capture
菜单,然后确保选中Capture Global Win32
。这将捕获您的服务(以及任何其他服务)的Debug.WriteLine
输出。您可能希望使用过滤器来阻止Debug View
显示您不感兴趣的输出。请考虑使用您的服务名称添加服务调试消息,以便您可以对其进行过滤。