Trace Sınıf

Tanım

Kodunuzun yürütülmesini izlemenize yardımcı olan bir Yöntemler ve özellikler kümesi sağlar.Provides a set of methods and properties that help you trace the execution of your code. Bu sınıf devralınamaz.This class cannot be inherited.

public ref class Trace sealed
public sealed class Trace
type Trace = class
Public NotInheritable Class Trace
Devralma
Trace

Örnekler

Aşağıdaki örnek, Trace bir program yürütmenin başlangıcını ve sonunu belirtmek için kullanır.The following example uses Trace to indicate the beginning and the end of a program's execution. Örnek ayrıca, Trace.Indent Trace.Unindent izleme çıkışını ayırt etmek için ve yöntemlerini kullanır.The example also uses the Trace.Indent and Trace.Unindent methods to distinguish the tracing output. Kullanımına ilişkin daha kapsamlı bir örnek için Trace bkz. nasıl yapılır: uygulama koduna Izleme deyimleri ekleme.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

Açıklamalar

TraceYayın yapılarını işaretlemek için sınıfındaki özellikleri ve yöntemleri kullanabilirsiniz.You can use the properties and methods in the Trace class to instrument release builds. İzleme, uygulamanızın durumunu gerçek yaşam ayarlarında izlemenize olanak sağlar.Instrumentation allows you to monitor the health of your application running in real-life settings. İzleme, çalışan bir sistemi etkilemeden sorunları ayırmanıza ve düzeltmenize yardımcı olur.Tracing helps you isolate problems and fix them without disturbing a running system.

Bu sınıf Assert , bir iletişim kutusu görüntüleme ve her zaman bir onaylama işlemi yayma için yöntemler sağlar Fail .This class provides methods to display an Assert dialog box, and to emit an assertion that will always Fail. Bu sınıf, aşağıdaki çeşitlemelerdeki yazma yöntemleri sağlar: Write , WriteLine , WriteIf ve WriteLineIf .This class provides write methods in the following variations: Write, WriteLine, WriteIf, and WriteLineIf.

BooleanSwitchVe TraceSwitch sınıfları, izleme çıkışını dinamik olarak denetlemek için araçlar sağlar.The BooleanSwitch and TraceSwitch classes provide means to dynamically control the tracing output. Uygulamanızı yeniden derlemeden bu anahtarların değerlerini değiştirebilirsiniz.You can modify the values of these switches without recompiling your application. Anahtar ayarlamak için yapılandırma dosyasını kullanma hakkında bilgi için, bkz Switch . sınıfı ve nasıl yapılır: Izleme anahtarları oluşturma, başlatma ve yapılandırma konusuna bakın.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.

Koleksiyona örnek ekleyerek TraceListener veya koleksiyondan örnek kaldırarak izleme çıktısının hedefini özelleştirebilirsiniz Listeners .You can customize the tracing output's target by adding TraceListener instances to or removing instances from the Listeners collection. ListenersKoleksiyon hem hem de sınıfları tarafından paylaşılır Debug Trace ; her iki sınıfa bir izleme dinleyicisi eklemek dinleyiciyi her ikisine de ekler.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. Varsayılan olarak, izleme çıktısı sınıfı kullanılarak yayınlanır DefaultTraceListener .By default, trace output is emitted using the DefaultTraceListener class.

Not

Koleksiyon için bir izleme dinleyicisi eklemek Listeners , izleme dinleyicisi tarafından kullanılan bir kaynak kullanılabilir değilse izleme sırasında bir özel durumun oluşturulmasına neden olabilir.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. Oluşturulan koşullar ve özel durum, izleme dinleyicisine bağlıdır ve bu konuda numaralandırılamıyor.The conditions and the exception thrown depend on the trace listener and cannot be enumerated in this topic. Trace try / catch İzleme dinleyicilerinin özel durumlarını algılamak ve işlemek için bloklardaki yöntemlere çağrı koymak faydalı olabilir.It may be useful to place calls to the Trace methods in try/catch blocks to detect and handle any exceptions from trace listeners.

Not

Kısmen güvenilen koda izleme dinleyicileri eklerseniz, SecurityException izleme dinleyicileri eklemek izin gerektirdiğinden bir özel durum alırsınız 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 'da bir korumalı alanda çalışan kısmen güvenilen kodu izlemek için, izleme dinleyicileri eklemeyin.To trace partially trusted code that is running in a sandbox in Visual Studio, do not add trace listeners. Bunun yerine, Trace Debug Çıkış penceresinde ve iletilerini görüntüleyin.Instead, view the Trace and Debug messages in the Output window.

TraceSınıfı, ve ' nin düzeyini almak veya ayarlamak için özellikler sağlar Indent IndentSize ve AutoFlush her yazma sonrasında olup olmayacağını belirtir.The Trace class provides properties to get or set the level of Indent, the IndentSize, and whether to AutoFlush after each write.

AutoFlushVe için ayarlamak için IndentSize Trace uygulamanızın adına karşılık gelen yapılandırma dosyasını düzenleyebilirsiniz.To set the AutoFlush and IndentSize for Trace, you can edit the configuration file that corresponds to the name of your application. Yapılandırma dosyası aşağıdaki örnekteki gibi biçimlendirilmelidir:The configuration file should be formatted like the following example:

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

ConditionalAttributeÖzniteliği, yöntemlerine uygulanır Trace .The ConditionalAttribute attribute is applied to the methods of Trace. ConditionalAttribute"Trace" bir koşullu derleme sembolü olarak tanımlanmadığı sürece bu yöntemlere yönelik çağrıları yoksay 'ı destekleyen derleyiciler.Compilers that support ConditionalAttribute ignore calls to these methods unless "TRACE" is defined as a conditional compilation symbol. ConditionalAttributeDesteklenip desteklenmediğini ve koşullu derleme sembolünü tanımlamaya yönelik sözdizimini öğrenmek için bir derleyicinin belgelerine bakın.Refer to a compiler's documentation to determine whether ConditionalAttribute is supported and the syntax for defining a conditional compilation symbol.

Not

Visual Studio projelerinde, varsayılan olarak, hata ayıklama derlemeleri için "DEBUG" koşullu derleme simgesi tanımlanmıştır ve "TRACE" simgesi hem hata ayıklama hem de yayın yapıları için tanımlanır.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. Bu davranışı devre dışı bırakma hakkında daha fazla bilgi için bkz. Visual Studio belgeleri.For information about how to disable this behavior, see the Visual Studio documentation.

C# ' ta "TRACE" koşullu derleme sembolünü tanımlamak için, /d:TRACE bir komut satırı kullanarak kodunuzu derlerken derleyici komut satırına seçeneği ekleyin veya #define TRACE dosyanızın en üstüne ekleyin.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 derleyici komut satırına seçeneği ekleyin veya #Const TRACE=True dosyaya ekleyin.In Visual Basic, add the /d:TRACE=True option to the compiler command line or add #Const TRACE=True to the file.

ConditionalAttribute C++ derleyicisi tarafından desteklenmez.ConditionalAttribute is not supported by the C++ compiler. Eşdeğer işlevselliği sağlamak için, çağrıları Trace bir blok içindeki yöntemlerine almalısınız #if defined(TRACE) ... #endif ve bu /DTRACE seçeneği derleyici komut satırına eklemeniz ya da dosyaya eklemeniz gerekir #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.

Özellikler

AutoFlush

Flush()Her yazma işleminden sonra çağrılması gerekip gerekmediğini alır veya ayarlar Listeners .Gets or sets whether Flush() should be called on the Listeners after every write.

CorrelationManager

Bu izleme için iş parçacığının bağıntı yöneticisini alır.Gets the correlation manager for the thread for this trace.

IndentLevel

Girinti düzeyini alır veya ayarlar.Gets or sets the indent level.

IndentSize

Girintideki boşluk sayısını alır veya ayarlar.Gets or sets the number of spaces in an indent.

Listeners

İzleme çıkışını izleyen dinleyicilerinin koleksiyonunu alır.Gets the collection of listeners that is monitoring the trace output.

UseGlobalLock

Genel kilidin kullanılıp kullanılmayacağını gösteren bir değer alır veya ayarlar.Gets or sets a value indicating whether the global lock should be used.

Yöntemler

Assert(Boolean)

Bir koşulu denetler; Koşul ise false , çağrı yığınını gösteren bir ileti kutusu görüntüler.Checks for a condition; if the condition is false, displays a message box that shows the call stack.

Assert(Boolean, String)

Bir koşulu denetler; Koşul ise false , belirtilen bir ileti verir ve çağrı yığınını gösteren bir ileti kutusu görüntüler.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)

Bir koşulu denetler; Koşul ise false , belirtilen iki iletiyi verir ve çağrı yığınını gösteren bir ileti kutusu görüntüler.Checks for a condition; if the condition is false, outputs two specified messages and displays a message box that shows the call stack.

Close()

Çıktı arabelleğini boşaltır ve sonra öğesini kapatır Listeners .Flushes the output buffer, and then closes the Listeners.

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.Determines whether the specified object is equal to the current object.

(Devralındığı yer: Object)
Fail(String)

Belirtilen hata iletisini yayar.Emits the specified error message.

Fail(String, String)

Bir hata iletisi ve ayrıntılı bir hata iletisi yayar.Emits an error message, and a detailed error message.

Flush()

Çıktı arabelleğini temizler ve arabelleğe alınan verilerin üzerine yazılmasına neden olur Listeners .Flushes the output buffer, and causes buffered data to be written to the Listeners.

GetHashCode()

Varsayılan karma işlevi olarak işlev görür.Serves as the default hash function.

(Devralındığı yer: Object)
GetType()

TypeGeçerli örneği alır.Gets the Type of the current instance.

(Devralındığı yer: Object)
Indent()

Geçerli olanı IndentLevel bir artırır.Increases the current IndentLevel by one.

MemberwiseClone()

Geçerli bir basit kopyasını oluşturur Object .Creates a shallow copy of the current Object.

(Devralındığı yer: Object)
Refresh()

İzleme yapılandırma verilerini yeniler.Refreshes the trace configuration data.

ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.Returns a string that represents the current object.

(Devralındığı yer: Object)
TraceError(String)

Belirtilen iletiyi kullanarak koleksiyondaki izleme dinleyicilerine bir hata mesajı yazar Listeners .Writes an error message to the trace listeners in the Listeners collection using the specified message.

TraceError(String, Object[])

ListenersBelirtilen nesne dizisini ve biçimlendirme bilgilerini kullanarak koleksiyondaki izleme dinleyicilerine bir hata mesajı yazar.Writes an error message to the trace listeners in the Listeners collection using the specified array of objects and formatting information.

TraceInformation(String)

Belirtilen iletiyi kullanarak koleksiyondaki izleme dinleyicilerine bir bilgilendirici ileti yazar Listeners .Writes an informational message to the trace listeners in the Listeners collection using the specified message.

TraceInformation(String, Object[])

ListenersBelirtilen nesne dizisini ve biçimlendirme bilgilerini kullanarak koleksiyondaki izleme dinleyicilerine bir bilgilendirici ileti yazar.Writes an informational message to the trace listeners in the Listeners collection using the specified array of objects and formatting information.

TraceWarning(String)

Belirtilen iletiyi kullanarak koleksiyondaki izleme dinleyicilerine bir uyarı iletisi yazar Listeners .Writes a warning message to the trace listeners in the Listeners collection using the specified message.

TraceWarning(String, Object[])

ListenersBelirtilen nesne dizisini ve biçimlendirme bilgilerini kullanarak koleksiyondaki izleme dinleyicilerine bir uyarı iletisi yazar.Writes a warning message to the trace listeners in the Listeners collection using the specified array of objects and formatting information.

Unindent()

Geçerli olanı IndentLevel bir azaltır.Decreases the current IndentLevel by one.

Write(Object)

Nesnenin ToString() yönteminin değerini koleksiyondaki izleme dinleyicilerine yazar Listeners .Writes the value of the object's ToString() method to the trace listeners in the Listeners collection.

Write(Object, String)

Bir kategori adı ve nesnenin ToString() yönteminin değerini koleksiyondaki izleme dinleyicilerine yazar Listeners .Writes a category name and the value of the object's ToString() method to the trace listeners in the Listeners collection.

Write(String)

Koleksiyondaki izleme dinleyicilerine bir ileti yazar Listeners .Writes a message to the trace listeners in the Listeners collection.

Write(String, String)

Koleksiyondaki izleme dinleyicilerine bir kategori adı ve ileti yazar Listeners .Writes a category name and a message to the trace listeners in the Listeners collection.

WriteIf(Boolean, Object)

ToString() Listeners Bir koşul ise, nesne yönteminin değerini koleksiyondaki izleme dinleyicilerine yazar 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)

Bir koşul ise, bir kategori adı ve nesnenin yönteminin değerini ToString() koleksiyondaki izleme dinleyicilerine yazar 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)

Koşul varsa koleksiyondaki izleme dinleyicilerine bir ileti yazar Listeners true .Writes a message to the trace listeners in the Listeners collection if a condition is true.

WriteIf(Boolean, String, String)

Bir koşul ise koleksiyondaki izleme dinleyicilerine bir kategori adı ve ileti yazar Listeners true .Writes a category name and message to the trace listeners in the Listeners collection if a condition is true.

WriteLine(Object)

Nesnenin ToString() yönteminin değerini koleksiyondaki izleme dinleyicilerine yazar Listeners .Writes the value of the object's ToString() method to the trace listeners in the Listeners collection.

WriteLine(Object, String)

Bir kategori adı ve nesnenin ToString() yönteminin değerini koleksiyondaki izleme dinleyicilerine yazar Listeners .Writes a category name and the value of the object's ToString() method to the trace listeners in the Listeners collection.

WriteLine(String)

Koleksiyondaki izleme dinleyicilerine bir ileti yazar Listeners .Writes a message to the trace listeners in the Listeners collection.

WriteLine(String, String)

Koleksiyondaki izleme dinleyicilerine bir kategori adı ve ileti yazar Listeners .Writes a category name and message to the trace listeners in the Listeners collection.

WriteLineIf(Boolean, Object)

ToString() Listeners Bir koşul ise, nesne yönteminin değerini koleksiyondaki izleme dinleyicilerine yazar 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)

Bir koşul ise, bir kategori adı ve nesnenin yönteminin değerini ToString() koleksiyondaki izleme dinleyicilerine yazar 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)

Koşul varsa koleksiyondaki izleme dinleyicilerine bir ileti yazar Listeners true .Writes a message to the trace listeners in the Listeners collection if a condition is true.

WriteLineIf(Boolean, String, String)

Bir koşul ise koleksiyondaki izleme dinleyicilerine bir kategori adı ve ileti yazar Listeners true .Writes a category name and message to the trace listeners in the Listeners collection if a condition is true.

Şunlara uygulanır

İş Parçacığı Güvenliği

Bu güvenli iş parçacığı türüdür.This type is thread safe.

Ayrıca bkz.