跟踪申请

时间:2010-08-09 09:17:03

标签: c#

我正在开发一个C#Windows应用程序。它实现了选项卡控件。我的要求是跟踪事件,例如方法入口/出口,程序加载等,并将这些值传递给其中一个选项卡中的textBox(名为traceTextBox)。

如果有人能指导我从哪里开始,我会很高兴。

我想只追踪事件:按钮点击和方法输入和退出。

我想仅在我的应用程序中跟踪事件。

我只想跟踪而不是调试事件。

请注意:我不想登录文本文件或控制台。我希望在文本框中更新输出。

1 个答案:

答案 0 :(得分:2)

System.Diagnostics.Trace.WriteLine()是你的朋友。然后,您可以创建System.Diagnostics.TraceListener的子类,并通过将其添加到System.Diagnostics.Trace.TraceListeners进行注册,以便您的代码收到这些事件的通知。

请注意,只有在设置TRACE条件编译标志时才会将跟踪事件编译到代码中(通常通过将其添加到每个相关项目设置中的“条件编译符号”框中)。


public sealed class MyTraceListener : TraceListener
{
    public MyTraceListener() : base("MyTraceListener")
    {
    }

    public override void Write(string message)
    {
        //TODO code here to add to your UI element

        //NOTE make sure you hand off to the UI thread e.g.
        //     using InvokeRequired/Invoke
    }
}

在您的应用程序启动中:

...
Trace.Listeners.Add(new MyTraceListener());
...

写作痕迹:

public void SomeMethod()
{
    Trace.WriteLine("Entered SomeMethod()");

    //...

    Trace.WriteLine("Exited SomeMethod()");
}