Trace Класс

Определение

Предоставляет набор методов и свойств, используемых при трассировке выполнения кода.Provides a set of methods and properties that help you trace the execution of your code. Этот класс не наследуется.This class cannot be inherited.

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

Примеры

В следующем примере используется Trace , чтобы указать начало и конец выполнения программы.The following example uses Trace to indicate the beginning and the end of a program's execution. В примере также используются Trace.Indent методы и Trace.Unindent для различения выходных данных трассировки.The example also uses the Trace.Indent and Trace.Unindent methods to distinguish the tracing output. Более полный пример использования Traceсм. в разделе как Добавление операторов трассировки в кодприложения.For a more complete example of the use of Trace, see How to: Add Trace Statements to Application Code.

// Specify /DTRACE when compiling.

#using <System.dll>
using namespace System;
using namespace System::Diagnostics;

int main()
{
   #if defined(TRACE)
   Trace::Listeners->Add( gcnew TextWriterTraceListener( Console::Out ) );
   Trace::AutoFlush = true;
   Trace::Indent();
   Trace::WriteLine( "Entering Main" );
   #endif
   Console::WriteLine( "Hello World." );
   #if defined(TRACE)
   Trace::WriteLine( "Exiting Main" );
   Trace::Unindent();
   #endif
   return 0;
}
// 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 методы класса.You can use the properties and methods in the Trace class to instrument release builds. Инструментирование позволяет отслеживать работоспособность приложения, выполняемого в реальном времени.Instrumentation allows you to monitor the health of your application running in real-life settings. Трассировка помогает изолировать проблемы и исправить их, не нарушая работу системы.Tracing helps you isolate problems and fix them without disturbing a running system.

Этот класс предоставляет методы для вывода Assert диалогового окна и для выдачи утверждения, которое всегда Failбудет.This class provides methods to display an Assert dialog box, and to emit an assertion that will always Fail. Этот класс предоставляет методы записи в следующих вариантах: Write, WriteLine, WriteIfи WriteLineIf.This class provides write methods in the following variations: Write, WriteLine, WriteIf, and WriteLineIf.

Классы BooleanSwitch иTraceSwitch предоставляют средства для динамического управления выводом трассировки.The BooleanSwitch and TraceSwitch classes provide means to dynamically control the tracing output. Вы можете изменить значения этих параметров без повторной компиляции приложения.You can modify the values of these switches without recompiling your application. Сведения об использовании файла конфигурации для установки переключателя см. в Switch разделе класс и инструкции. Создание, инициализация и Настройка параметров трассировки.For information on using the configuration file to set a switch, see the Switch class and the How to: Create, Initialize and Configure Trace Switches topic.

Можно настроить целевой объект вывода трассировки, добавив TraceListener экземпляры в коллекцию или удалив из нее Listeners экземпляры.You can customize the tracing output's target by adding TraceListener instances to or removing instances from the Listeners collection. Коллекция совместно Trace используется классами Debug и. Добавление прослушивателя трассировки в любой из этих классов добавляет прослушиватель Listeners в оба.The Listeners collection is shared by both the Debug and the Trace classes; adding a trace listener to either class adds the listener to both. По умолчанию выходные данные трассировки создаются с помощью DefaultTraceListener класса.By default, trace output is emitted using the DefaultTraceListener class.

Примечание

Добавление прослушивателя трассировки в Listeners коллекцию может вызвать исключение во время трассировки, если ресурс, используемый прослушивателем трассировки, недоступен.Adding a trace listener to the Listeners collection can cause an exception to be thrown while tracing, if a resource used by the trace listener is not available. Условия и исключение, которые вызываются, зависят от прослушивателя трассировки и не могут быть перечислены в этом разделе.The conditions and the exception thrown depend on the trace listener and cannot be enumerated in this topic. Может оказаться Trace полезным размещать вызовы методов в try / catch блоках для обнаружения и обработки исключений из прослушивателей трассировки.It may be useful to place calls to the Trace methods in try/catch blocks to detect and handle any exceptions from trace listeners.

Примечание

При добавлении прослушивателей трассировки в частично доверенный код SecurityException возникает исключение, так как для добавления прослушивателей трассировки требуется UnmanagedCode разрешение.If you add trace listeners to partially trusted code, you will get a SecurityException exception, because adding trace listeners requires UnmanagedCode permission. Для трассировки частично доверенного кода, который выполняется в песочнице в Visual Studio, не добавляйте прослушиватели трассировки.To trace partially trusted code that is running in a sandbox in Visual Studio, do not add trace listeners. Вместо этого просмотрите Trace сообщения и Debug в окне вывод .Instead, view the Trace and Debug messages in the Output window.

Класс предоставляет свойства, позволяющие получить или задать Indentуровень, IndentSize, и необходимость AutoFlush после каждой записи. TraceThe Trace class provides properties to get or set the level of Indent, the IndentSize, and whether to AutoFlush after each write.

Чтобы задать AutoFlush и IndentSize для Trace, можно изменить файл конфигурации, соответствующий имени приложения.To set the AutoFlush and IndentSize for Trace, you can edit the configuration file that corresponds to the name of your application. Файл конфигурации следует отформатировать, как показано в следующем примере:The configuration file should be formatted like the following example:

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

Атрибут применяется к Traceметодам. ConditionalAttributeThe ConditionalAttribute attribute is applied to the methods of Trace. Компиляторы, поддерживающие ConditionalAttribute игнорирование вызовов этих методов, если "Trace" не определен как символ условной компиляции.Compilers that support ConditionalAttribute ignore calls to these methods unless "TRACE" is defined as a conditional compilation symbol. См. документацию компилятора, чтобы определить, ConditionalAttribute поддерживается ли поддержка, и синтаксис для определения символа условной компиляции.Refer to a compiler's documentation to determine whether ConditionalAttribute is supported and the syntax for defining a conditional compilation symbol.

Примечание

В проектах Visual Studio по умолчанию для отладочных сборок определен символ условной компиляции DEBUG, а для отладочных и окончательных сборок определен символ "TRACE".In Visual Studio projects, by default, the "DEBUG" conditional compilation symbol is defined for debug builds, and the "TRACE" symbol is defined for both debug and release builds. Сведения о том, как отключить это поведение, см. в документации по Visual Studio.For information about how to disable this behavior, see the Visual Studio documentation.

Чтобы определить символ условной компиляции "Trace" в C#, добавьте /d:TRACE параметр в командную строку компилятора при компиляции кода с помощью командной строки или добавьте #define TRACE в начало файла.To define the "TRACE" conditional compilation symbol in C#, add the /d:TRACE option to the compiler command line when you compile your code using a command line, or add #define TRACE to the top of your file. В Visual Basic добавьте /d:TRACE=True параметр в командную строку компилятора или добавьте #Const TRACE=True в файл.In Visual Basic, add the /d:TRACE=True option to the compiler command line or add #Const TRACE=True to the file.

ConditionalAttributeне поддерживается C++ компилятором.ConditionalAttribute is not supported by the C++ compiler. Чтобы обеспечить эквивалентную функциональность, необходимо Trace заключить вызовы в методы #if defined(TRACE) ... #endif в /DTRACE блоке и добавить параметр в командную строку компилятора или добавить #define TRACE в файл.To provide equivalent functionality, you must enclose calls to the methods of Trace in an #if defined(TRACE) ... #endif block, and add the /DTRACE option to the compiler command line or add #define TRACE to the file.

Свойства

AutoFlush

Получает или задает значение, указывающее, следует ли вызывать метод Flush() для свойства Listeners после каждой записи.Gets or sets whether Flush() should be called on the Listeners after every write.

CorrelationManager

Получает диспетчер корреляции для потока для данной трассировки.Gets the correlation manager for the thread for this trace.

IndentLevel

Возвращает или задает уровень отступа.Gets or sets the indent level.

IndentSize

Возвращает или задает число пробелов в отступе.Gets or sets the number of spaces in an indent.

Listeners

Получает коллекцию прослушивателей, отслеживающих данные трассировки.Gets the collection of listeners that is monitoring the trace output.

UseGlobalLock

Получает или задает значение, показывающее, нужно ли использовать глобальную блокировку.Gets or sets a value indicating whether the global lock should be used.

Методы

Assert(Boolean)

Проверяет условие; если условие имеет значение false, выводит сообщение, отображающее стек вызовов.Checks for a condition; if the condition is false, displays a message box that shows the call stack.

Assert(Boolean, String)

Проверяет условие. Если условие имеет значение false, выдается указанное сообщение и отображается окно сообщения со стеком вызовов.Checks for a condition; if the condition is false, outputs a specified message and displays a message box that shows the call stack.

Assert(Boolean, String, String)

Проверяет условие; если условие имеет значение false, выводит два указанных сообщения и отображает окно сообщения со стеком вызовов.Checks for a condition; if the condition is false, outputs two specified messages and displays a message box that shows the call stack.

Close()

Очищает выходной буфер, а затем закрывает свойство Listeners.Flushes the output buffer, and then closes the Listeners.

Equals(Object)

Определяет, равен ли заданный объект текущему объекту.Determines whether the specified object is equal to the current object.

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

Выдает указанное сообщение об ошибке.Emits the specified error message.

Fail(String, String)

Выдает простое и подробное сообщение об ошибке.Emits an error message, and a detailed error message.

Flush()

Очищает выходной буфер и вызывает запись данных буфера в свойство Listeners.Flushes the output buffer, and causes buffered data to be written to the Listeners.

GetHashCode()

Служит хэш-функцией по умолчанию.Serves as the default hash function.

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

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

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

Увеличивает текущее значение свойства IndentLevel на единицу.Increases the current IndentLevel by one.

MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

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

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

ToString()

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

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

Записывает сообщение об ошибке в прослушиватели трассировки в коллекции Listeners с помощью указанного сообщения.Writes an error message to the trace listeners in the Listeners collection using the specified message.

TraceError(String, Object[])

Записывает сообщение об ошибке в прослушиватели трассировки в коллекции Listeners с помощью указанного массива объектов и сведений о форматировании.Writes an error message to the trace listeners in the Listeners collection using the specified array of objects and formatting information.

TraceInformation(String)

Записывает информационное сообщение в прослушиватели трассировки коллекции Listeners, используя для этого указанное сообщение.Writes an informational message to the trace listeners in the Listeners collection using the specified message.

TraceInformation(String, Object[])

Записывает информационное сообщение в прослушиватели трассировки в коллекции Listeners с помощью указанного массива объектов и сведений о форматировании.Writes an informational message to the trace listeners in the Listeners collection using the specified array of objects and formatting information.

TraceWarning(String)

Записывает предупреждающее сообщение е в прослушиватели трассировки в коллекции Listeners с помощью указанного сообщения.Writes a warning message to the trace listeners in the Listeners collection using the specified message.

TraceWarning(String, Object[])

Записывает предупреждающее сообщение в прослушиватели трассировки в коллекции Listeners с помощью указанного массива объектов и сведений о форматировании.Writes a warning message to the trace listeners in the Listeners collection using the specified array of objects and formatting information.

Unindent()

Уменьшает текущее значение свойства IndentLevel на единицу.Decreases the current IndentLevel by one.

Write(Object)

Записывает значение метода ToString() объекта в прослушиватели трассировки в коллекции Listeners.Writes the value of the object's ToString() method to the trace listeners in the Listeners collection.

Write(Object, String)

Записывает имя категории и значение метода ToString() объекта в прослушиватели трассировки в коллекции Listeners.Writes a category name and the value of the object's ToString() method to the trace listeners in the Listeners collection.

Write(String)

Записывает сообщение в прослушиватели трассировки в коллекции Listeners.Writes a message to the trace listeners in the Listeners collection.

Write(String, String)

Записывает имя категории и сообщение в прослушиватели трассировки в коллекции Listeners.Writes a category name and a message to the trace listeners in the Listeners collection.

WriteIf(Boolean, Object)

Записывает значение метода ToString() объекта в прослушиватели трассировки в коллекции Listeners, если условие имеет значение true.Writes the value of the object's ToString() method to the trace listeners in the Listeners collection if a condition is true.

WriteIf(Boolean, Object, String)

Записывает имя категории и значение метода ToString() объекта в прослушиватели трассировки в коллекции Listeners, если условие имеет значение true.Writes a category name and the value of the object's ToString() method to the trace listeners in the Listeners collection if a condition is true.

WriteIf(Boolean, String)

Записывает сообщение в слушатели трассировки в коллекции Listeners, если условие имеет значение true.Writes a message to the trace listeners in the Listeners collection if a condition is true.

WriteIf(Boolean, String, String)

Записывает имя категории и сообщение в прослушиватели трассировки в коллекции Listeners, если условие имеет значение true.Writes a category name and message to the trace listeners in the Listeners collection if a condition is true.

WriteLine(Object)

Записывает значение метода ToString() объекта в прослушиватели трассировки в коллекции Listeners.Writes the value of the object's ToString() method to the trace listeners in the Listeners collection.

WriteLine(Object, String)

Записывает имя категории и значение метода ToString() объекта в прослушиватели трассировки в коллекции Listeners.Writes a category name and the value of the object's ToString() method to the trace listeners in the Listeners collection.

WriteLine(String)

Записывает сообщение в прослушиватели трассировки в коллекции Listeners.Writes a message to the trace listeners in the Listeners collection.

WriteLine(String, String)

Записывает имя категории и сообщение в прослушиватели трассировки в коллекции Listeners.Writes a category name and message to the trace listeners in the Listeners collection.

WriteLineIf(Boolean, Object)

Записывает значение метода ToString() объекта в прослушиватели трассировки в коллекции Listeners, если условие имеет значение true.Writes the value of the object's ToString() method to the trace listeners in the Listeners collection if a condition is true.

WriteLineIf(Boolean, Object, String)

Записывает имя категории и значение метода ToString() объекта в прослушиватели трассировки в коллекции Listeners, если условие имеет значение true.Writes a category name and the value of the object's ToString() method to the trace listeners in the Listeners collection if a condition is true.

WriteLineIf(Boolean, String)

Записывает сообщение в слушатели трассировки в коллекции Listeners, если условие имеет значение true.Writes a message to the trace listeners in the Listeners collection if a condition is true.

WriteLineIf(Boolean, String, String)

Записывает имя категории и сообщение в прослушиватели трассировки в коллекции Listeners, если условие имеет значение true.Writes a category name and message to the trace listeners in the Listeners collection if a condition is true.

Безопасность

SecurityPermission
для работы с неуправляемым кодом.for operating with unmanaged code. Действие по обеспечению безопасности: Demand.Security action: Demand. Связанное перечисление:UnmanagedCodeAssociated enumeration: UnmanagedCode

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

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

Данный тип потокобезопасен.This type is thread safe.

Дополнительно