Trace Класс

Определение

Предоставляет набор методов и свойств, которые помогают отслеживать выполнение вашего кода. Этот класс не наследуется.

public ref class Trace sealed
public sealed class Trace
type Trace = class
Public NotInheritable Class Trace
Наследование
Trace

Примеры

В следующем примере показано Trace начало и конец выполнения программы. В примере также используются Trace.Indent методы и Trace.Unindent методы для различения выходных данных трассировки. Более полный пример использования см. в статье Trace трассировки в код приложения".

// Specify /d:TRACE when compiling.

using System;
using System.Diagnostics;

class Test
{
    static void Main()
    {
       Trace.Listeners.Add(new TextWriterTraceListener(Console.Out));
       Trace.AutoFlush = true;
       Trace.Indent();
       Trace.WriteLine("Entering Main");
       Console.WriteLine("Hello World.");
       Trace.WriteLine("Exiting Main");
       Trace.Unindent();
    }
}
' Specify /d:TRACE=True when compiling.

Imports System.Diagnostics

Class Test
    
    Shared Sub Main()
    
        Trace.Listeners.Add(New TextWriterTraceListener(Console.Out))
        Trace.AutoFlush = True
        Trace.Indent()
        Trace.WriteLine("Entering Main")
        Console.WriteLine("Hello World.")
        Trace.WriteLine("Exiting Main")
        Trace.Unindent()
        
    End Sub

End Class

Комментарии

Свойства и методы в Trace классе можно использовать для инструментирования сборок выпуска. Инструментирование позволяет отслеживать работоспособность приложения, работающего в реальных параметрах. Трассировка помогает изолировать проблемы и устранять их без нарушения работающей системы.

Этот класс предоставляет методы для отображения диалогового Assert окна и выдачи утверждения, которое всегда Failбудет. Этот класс предоставляет методы записи в следующих вариантах:

BooleanSwitch Классы TraceSwitch предоставляют средства динамического управления выходными данными трассировки. В приложениях .NET Framework можно изменять значения этих коммутаторов без повторной компиляции приложения. Сведения об использовании файла конфигурации для задания коммутатора в приложении .NET Framework см. в классе Switch и How to: Create, Initialize и Configure Trace Switchs.

Целевой объект трассировки можно настроить, добавив TraceListener экземпляры в коллекцию или удалив экземпляры Listeners . Коллекция Listeners разделяется как классами, так Debug и Trace классами; добавление прослушивателя трассировки в любой класс добавляет прослушиватель в оба класса. По умолчанию выходные данные трассировки создаются с помощью DefaultTraceListener класса.

Note

Добавление прослушивателя трассировки в Listeners коллекцию может привести к возникновению исключения во время трассировки, если ресурс, используемый прослушивателем трассировки, недоступен. Условия и исключение, которые возникают, зависят от прослушивателя трассировки и не могут быть перечислены в этом разделе. Может быть полезно разместить вызовы Trace методов в try/catch блоках для обнаружения и обработки исключений из прослушивателей трассировки.

Note

Если вы добавляете прослушиватели трассировки в частично доверенный SecurityException код, вы получите исключение, так как для добавления прослушивателей трассировки требуется UnmanagedCode разрешение. Чтобы трассировать частично доверенный код, работающий в песочнице в Visual Studio, не добавляйте прослушиватели трассировки. Вместо этого просмотрите Trace и Debug сообщения в окне вывода .

Класс Trace предоставляет свойства для получения или задания уровня Indent и IndentSizeтого, следует AutoFlush ли выполнять после каждой записи.

В приложениях .NET Framework можно задать AutoFlush и IndentSize для Trace, изменив файл конфигурации, соответствующий имени приложения. Файл конфигурации должен быть отформатирован следующим образом:

<configuration>
  <system.diagnostics>
    <trace autoflush="false" indentsize="3" />
  </system.diagnostics>
</configuration>

Атрибут ConditionalAttribute применяется к методам Trace. Компиляторы, поддерживающие ConditionalAttribute игнорировать вызовы этих методов, если TRACE не определен как символ условной компиляции. Ознакомьтесь с документацией компилятора, чтобы определить, поддерживается ли ConditionalAttribute поддержка и синтаксис для определения символа условной компиляции.

Note

По умолчанию в проектах Visual Studio символ условной компиляции DEBUG определяется для отладочных сборок, а символ TRACE определяется как для отладки, так и для сборок выпуска.

Чтобы определить символ условной TRACE компиляции в C#, добавьте /d:TRACE параметр в командную строку компилятора при компиляции кода с помощью командной строки или добавьте #define TRACE в начало файла. В Visual Basic добавьте /d:TRACE=True параметр в командную строку компилятора или добавьте #Const TRACE=True в файл.

ConditionalAttribute не поддерживается компилятором C++. Чтобы обеспечить эквивалентную функциональность, необходимо заключить вызовы к методам Trace блока и добавить #if defined(TRACE) ... #endif параметр в /DTRACE командную строку компилятора или добавить #define TRACE в файл.

Свойства

Имя Описание
AutoFlush

Возвращает или задает, следует ли Flush() вызывать после каждой Listeners записи.

CorrelationManager

Возвращает диспетчер корреляции для потока для этой трассировки.

IndentLevel

Возвращает или задает уровень отступа.

IndentSize

Возвращает или задает количество пробелов в отступе.

Listeners

Возвращает коллекцию прослушивателей, отслеживающих выходные данные трассировки.

UseGlobalLock

Возвращает или задает значение, указывающее, следует ли использовать глобальную блокировку.

Методы

Имя Описание
Assert(Boolean, String, String)

Проверка условия; Если условие равно false, выводит два указанных сообщения и отображает окно сообщения, отображающее стек вызовов.

Assert(Boolean, String)

Проверка условия; Если условие равно false, выводит указанное сообщение и отображает окно сообщения, отображающее стек вызовов.

Assert(Boolean)

Проверка условия; Если условие задано false, отображается окно сообщения, в котором показан стек вызовов.

Close()

Очищает выходной буфер, а затем закрывается Listeners.

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
Fail(String, String)

Выдает сообщение об ошибке и подробное сообщение об ошибке.

Fail(String)

Выдает указанное сообщение об ошибке.

Flush()

Очищает выходной буфер и приводит к записи буферных данных в буфер Listeners.

GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetType()

Возвращает Type текущего экземпляра.

(Унаследовано от Object)
Indent()

Увеличивает текущий IndentLevel на один.

MemberwiseClone()

Создает неглубокую копию текущей Object.

(Унаследовано от Object)
Refresh()

Обновляет данные конфигурации трассировки.

ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)
TraceError(String, Object[])

Записывает сообщение об ошибке в прослушиватели трассировки в Listeners коллекции с помощью указанного массива объектов и сведений о форматировании.

TraceError(String)

Записывает сообщение об ошибке в прослушиватели трассировки в Listeners коллекции с помощью указанного сообщения.

TraceInformation(String, Object[])

Записывает информационное сообщение в прослушиватели трассировки в Listeners коллекции с помощью указанного массива объектов и сведений о форматировании.

TraceInformation(String)

Записывает информационное сообщение в прослушиватели трассировки в Listeners коллекции с помощью указанного сообщения.

TraceWarning(String, Object[])

Записывает предупреждение в прослушиватели трассировки в Listeners коллекции с помощью указанного массива объектов и сведений о форматировании.

TraceWarning(String)

Записывает предупреждение в прослушиватели трассировки в Listeners коллекции с помощью указанного сообщения.

Unindent()

Уменьшает текущий IndentLevel на один.

Write(Object, String)

Записывает имя категории и значение метода объекта ToString() в прослушиватели трассировки в Listeners коллекции.

Write(Object)

Записывает значение метода объекта ToString() в прослушиватели трассировки в Listeners коллекции.

Write(String, String)

Записывает имя категории и сообщение в прослушиватели трассировки в Listeners коллекции.

Write(String)

Записывает сообщение в прослушиватели трассировки в Listeners коллекции.

WriteIf(Boolean, Object, String)

Записывает имя категории и значение метода объекта ToString() в прослушиватели трассировки в коллекции, Listeners если условие равно true.

WriteIf(Boolean, Object)

Записывает значение метода объекта ToString() в прослушиватели трассировки в Listeners коллекции, если условие .true

WriteIf(Boolean, String, String)

Записывает имя категории и сообщение в прослушиватели трассировки в Listeners коллекции, если условие.true

WriteIf(Boolean, String)

Записывает сообщение в прослушиватели трассировки в коллекции, Listeners если условие равно true.

WriteLine(Object, String)

Записывает имя категории и значение метода объекта ToString() в прослушиватели трассировки в Listeners коллекции.

WriteLine(Object)

Записывает значение метода объекта ToString() в прослушиватели трассировки в Listeners коллекции.

WriteLine(String, String)

Записывает имя категории и сообщение в прослушиватели трассировки в Listeners коллекции.

WriteLine(String)

Записывает сообщение в прослушиватели трассировки в Listeners коллекции.

WriteLineIf(Boolean, Object, String)

Записывает имя категории и значение метода объекта ToString() в прослушиватели трассировки в коллекции, Listeners если условие равно true.

WriteLineIf(Boolean, Object)

Записывает значение метода объекта ToString() в прослушиватели трассировки в Listeners коллекции, если условие .true

WriteLineIf(Boolean, String, String)

Записывает имя категории и сообщение в прослушиватели трассировки в Listeners коллекции, если условие.true

WriteLineIf(Boolean, String)

Записывает сообщение в прослушиватели трассировки в коллекции, Listeners если условие равно true.

События

Имя Описание
Refreshing

Возникает при TraceSource необходимости обновления из конфигурации.

Применяется к

Потокобезопасность

Этот тип является потокобезопасной.

См. также раздел