记录&追踪

时间:2015-01-10 16:22:25

标签: c# vb.net logging roslyn tracing

如何添加跟踪和记录到分析器?您可能不知道我遇到了一个问题,一些问题导致我的分析器在实验实例中工作,而不是正常实例。所以我想添加跟踪和日志记录,我可以检查我在正常实例中运行它。

您对此有何建议和建议? 我的桌面应用程序我可以实现顶级异常处理程序,但是对于Visual Studio,分析程序是独立的“插件”模块,我可以在任何地方看到我可以实现这种方法。

我想我可以使用ETW(最初需要管理员权限才能创建事件源),但我担心这对便携式类不可用。

我试过

Debug.Write
Console.Write

但是我在哪里可以看到VS中的输出?如果它输出文本它(对我来说)在其他输出文本的噪音中丢失。

输出到我的文档中的文件(没有管理员权限)会起作用,但如何创建文件?

其他 便携式课程的目标是

.NET Framework 4.5
Windows 8

1 个答案:

答案 0 :(得分:0)

通常使用Trace Listener将跟踪信息写入文件。在那里你可以在没有VS的情况下读取跟踪信息这里有一个很好的介绍: MSDN: Tracing and Instrumenting Applications

还请阅读有关如何使用跟踪侦听器的说明。你会发现你需要阅读很多,它相当复杂并且有一些限制。我发现最令人恼火的是它对于近实时跟踪来说太慢了,跟踪调用者的线程会引发由跟踪问题引起的异常。这是人们想要的最后一件事,因为跟踪而获得异常。由于您的特殊需要,您可能会发现其他问题。

由于这些原因,我编写了自己的跟踪类,可以与任何.NET技术一起使用。这是可靠的代码,我用了很多年。您可以在以下位置找到如何使用它的详细说明: CodePlex: ACoreLib.Tracer