Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何像DebugView应用程序那样读取c#Debug.WriteLine?_C#_Winforms_Debugging_Output - Fatal编程技术网

如何像DebugView应用程序那样读取c#Debug.WriteLine?

如何像DebugView应用程序那样读取c#Debug.WriteLine?,c#,winforms,debugging,output,C#,Winforms,Debugging,Output,我有一个c#windows服务,使用Debug.WriteLine()每秒输出当前日期和时间。: Debug.WriteLine(DateTime.Now); 然后,我可以使用SysInternals DebugView程序()读取此输出,但是我想基本上在我自己的winforms应用程序中重新创建我在该工具中看到的内容,因此,如何通过编程准确地获取DebugView的信息?基本上,您想截取来自某个进程的调试信息 我认为这可能会对您有所帮助,但我不知道MDbg的当前状态如何 我有一个小程序可以做

我有一个c#windows服务,使用Debug.WriteLine()每秒输出当前日期和时间。:

Debug.WriteLine(DateTime.Now);

然后,我可以使用SysInternals DebugView程序()读取此输出,但是我想基本上在我自己的winforms应用程序中重新创建我在该工具中看到的内容,因此,如何通过编程准确地获取DebugView的信息?

基本上,您想截取来自某个进程的调试信息

我认为这可能会对您有所帮助,但我不知道MDbg的当前状态如何

我有一个小程序可以做类似的事情,但我使用进程间通信和命名管道来实现,所以涉及到双向通信

您还可以查看,如果有什么用处,您可以将调试输出重定向到另一个流

[Edit1]

Debug.WriteLine(DateTime.Now);
告诉您要下载MDbg API,以便在.NET应用程序中使用。然后可能会帮助您实际获得输出


我认为这个问题可能很难解决,我使用NamedPipes解决了它,但是两个应用程序(服务和其他应用程序)必须相互了解。简单地阅读调试。编写进程可能需要对MDbg进行一些研究。

如果控制代码,为什么需要挂接到
DebugView
?为什么不简单地将日期粘贴到winform控件上呢?我用它作为一个概念来连接到另一个服务,但需要证明它可以工作:-)所以你想要另一个进程的调试流?这是一个windows服务,我只想读取它的调试输出。你想做什么?MDbg似乎死了,所以它会是这样吗对听众来说可能吗?我尝试了TextWriterTraceListener,但它似乎没有从服务中获得任何信息?这可能会变得棘手。实际上,有一些方法可以读取调试输出。首先,将调试输出重定向到Console.Out stream,但要真正读取输出,应该在自定义调试查看器中创建进程。另一个选项是使用异步或命名管道,就像我所做的那样,但是您应该对服务进行一些更改。另一个选项是查看Microsoft.Samples.Debugging命名空间,您可以在其中找到信息,或者我认为MDbgProcess是在该名称空间中声明的。我现在非常接近使用MDbg,我相信,但我在示例中的LogMessageEventHandler和Console_CancelKeyPress中遇到了一些错误,+1表示努力,非常接近完美答案!!!:-)