gpt4 book ai didi

c# - 读取 System.Diagnostics.Debug 窗口

转载 作者:太空宇宙 更新时间:2023-11-03 11:23:31 25 4
gpt4 key购买 nike

我有一个 Netduino它目前正在向系统输出加速度计数据。诊断.调试窗口。我正在等待邮件中的 USB->232 转换器通过串行端口将数据从设备正确获取到我的应用程序,但我想知道是否有人知道是否可以从中读取数据只是为了快速测试目的调试窗口回到我的应用程序?

编辑 - 解决方案:我在这里为任何想要我的解决方案的人发布这个。我最初认为 Nuf 的回答有效“写入 System.Diagnostics.Debug 的数据可以用 TraceListener 类捕获。MSDN 有简短的教程如何设置它。”但我发现监听器只能从它自己的应用程序中获取数据。由于我使用的是 Netduino,调试输出来自不同的程序,这意味着跟踪监听器无法读取它。所以我找到了一种直接读取输出框中文本的方法。

基于 MSDN 中的代码:您将需要 3 个项目引用。它们位于 .Net 引用选项卡中 - EnvDTE、EnvDTE80 和可扩展性。

using EnvDTE80;
using EnvDTE;
using Extensibility;

public static string ReadDebugBox()
{
EnvDTE80.DTE2 dte = (EnvDTE80.DTE2)System.Runtime.InteropServices.Marshal.GetActiveObject("VisualStudio.DTE.10.0");
string data = "";
OutputWindow ow = dte.ToolWindows.OutputWindow;
OutputWindowPane owP;

TextDocument owPTxtDoc;
EditPoint2 strtPt;

owP = ow.OutputWindowPanes.Item("Debug");
owP.Activate();
owPTxtDoc = owP.TextDocument;

strtPt = (EditPoint2)owPTxtDoc.StartPoint.CreateEditPoint();
return strtPt.GetText(owPTxtDoc.EndPoint);
}



public static void ClearDebugBox()
{
EnvDTE80.DTE2 dte = (EnvDTE80.DTE2)System.Runtime.InteropServices.Marshal.GetActiveObject("VisualStudio.DTE.10.0");
OutputWindow ow = dte.ToolWindows.OutputWindow;
OutputWindowPane owP;

TextDocument owPTxtDoc;
EditPoint2 strtPt;

owP = ow.OutputWindowPanes.Item("Debug");
owP.Activate();

owP.Clear();
}

可能有更好的方法,但这只是对我有用的方法,所以我想我会分享它。

最佳答案

写入 System.Diagnostics.Debug 的数据可以用 TraceListener 捕获类(class)。 MSDN有简称tutorial如何设置。

关于c# - 读取 System.Diagnostics.Debug 窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10197804/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com