Trace Sınıf

Tanım

Kodunuzun yürütülmesini izlemenize yardımcı olan bir dizi yöntem ve özellik sağlar. Bu sınıf devralınamaz.

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

Örnekler

Aşağıdaki örnek, bir programın yürütülmesinin başlangıcını ve sonunu belirtmek için kullanır Trace . Örnek ayrıca izleme çıkışını Trace.Indent ayırt etmek için ve Trace.Unindent yöntemlerini kullanır. kullanımına Tracedaha eksiksiz bir örnek için bkz . Nasıl yapılır: Uygulama Koduna İzleme Deyimleri Ekleme.

// 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

Yayın derlemelerini işaretlemek için sınıfındaki Trace özellikleri ve yöntemleri kullanabilirsiniz. İzleme, uygulamanızın durumunu gerçek hayattaki ayarlarda izlemenize olanak tanır. İzleme, çalışan bir sistemi rahatsız etmeden sorunları yalıtmanıza ve düzeltmenize yardımcı olur.

Bu sınıf, bir Assert iletişim kutusunu görüntülemek ve her zaman Failolacak bir onay yaymak için yöntemler sağlar. Bu sınıf aşağıdaki çeşitlemelerde yazma yöntemleri sağlar:

BooleanSwitch ve TraceSwitch sınıfları, izleme çıkışını dinamik olarak denetlemek için araçlar sağlar. .NET Framework uygulamalarda, uygulamanızı yeniden derlemeden bu anahtarların değerlerini değiştirebilirsiniz. .NET Framework bir uygulamada anahtar ayarlamak için yapılandırma dosyasını kullanma hakkında bilgi için sınıfına Switch ve Nasıl yapılır: İçerik Oluşturucu, Başlatma ve İzleme Anahtarlarını Yapılandırma bölümüne bakın.

koleksiyona örnekler ekleyerek TraceListener veya koleksiyondan örnekleri kaldırarak izleme çıkışının hedefini Listeners özelleştirebilirsiniz. Koleksiyon Listeners hem hem Trace de Debug sınıfları tarafından paylaşılır; iki sınıfa da izleme dinleyicisi eklemek dinleyiciyi her ikisine de ekler. Varsayılan olarak, izleme çıkışı sınıfı kullanılarak DefaultTraceListener gönderilir.

Not

İzleme dinleyicisi tarafından kullanılan bir kaynak kullanılamıyorsa, koleksiyona Listeners izleme dinleyicisi eklemek, izleme sırasında bir özel durum oluşturmasına neden olabilir. Oluşan koşullar ve özel durum izleme dinleyicisine bağlıdır ve bu konuda numaralandırılamaz. İzleme dinleyicilerinden gelen özel durumları algılamak Trace ve işlemek için bloklardaki try/catch yöntemlere çağrı yapmak yararlı olabilir.

Not

Kısmen güvenilen koda izleme dinleyicileri eklerseniz, izleme dinleyicileri eklemek için izin gerektirdiğinden UnmanagedCode bir SecurityException özel durum alırsınız. Visual Studio'da bir korumalı alanda çalışan kısmen güvenilen kodu izlemek için izleme dinleyicileri eklemeyin. Bunun yerine Çıkış penceresinde ve Debug iletilerini görüntüleyinTrace.

sınıfı Trace , ve ve değerlerinin düzeyini Indent ve her yazmadan IndentSizesonra alınıp alınmayacağını belirlemek için AutoFlush özellikler sağlar.

.NET Framework uygulamalarında, uygulamanızın AutoFlush adına karşılık gelen yapılandırma dosyasını düzenleyerek ve IndentSizeTrace değerini ayarlayabilirsiniz. Yapılandırma dosyası aşağıdaki örnekte olduğu gibi biçimlendirilmelidir:

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

ConditionalAttribute özniteliği yöntemlerine Traceuygulanır. Destekleyen derleyiciler ConditionalAttribute , koşullu derleme simgesi olarak tanımlanmadığı sürece TRACE bu yöntemlere yapılan çağrıları yoksayar. Desteklenip desteklenmediğini ConditionalAttribute ve koşullu derleme simgesi tanımlama söz dizimini belirlemek için derleyicinin belgelerine bakın.

Not

Visual Studio projelerinde, koşullu derleme simgesi varsayılan olarak DEBUG hata ayıklama derlemeleri için tanımlanır ve TRACE sembol hem hata ayıklama hem de yayın derlemeleri için tanımlanır.

C# dilinde koşullu derleme simgesini tanımlamak TRACE için, /d:TRACE kodunuzu bir komut satırı kullanarak derlerken veya dosyanızın en üstüne eklerken seçeneğini derleyici komut satırına ekleyin #define TRACE . Visual Basic'te, /d:TRACE=True seçeneğini derleyici komut satırına ekleyin veya dosyaya ekleyin #Const TRACE=True .

ConditionalAttribute C++ derleyicisi tarafından desteklenmez. Eşdeğer işlevsellik sağlamak için çağrıları bir blok içindeki yöntemlerine Trace dahil etmeniz ve derleyici komut satırına seçeneğini eklemeniz /DTRACE veya dosyaya eklemeniz #define TRACE#if defined(TRACE) ... #endif gerekir.

Özellikler

AutoFlush

Her yazmadan sonra üzerinde Listeners çağrılıp çağrılmayacağını Flush() alır veya ayarlar.

CorrelationManager

Bu izleme için iş parçacığının bağıntı yöneticisini alır.

IndentLevel

Girinti düzeyini alır veya ayarlar.

IndentSize

Girintideki boşlukların sayısını alır veya ayarlar.

Listeners

İzleme çıkışını izleyen dinleyici koleksiyonunu alır.

UseGlobalLock

Genel kilidin kullanılması gerekip gerekmediğini belirten bir değer alır veya ayarlar.

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.

Assert(Boolean, String)

Bir koşulu denetler; koşul ise false, belirtilen bir iletiyi görüntüler ve çağrı yığınını gösteren bir ileti kutusu görüntüler.

Assert(Boolean, String, String)

Bir koşulu denetler; koşul ise false, belirtilen iki iletinin çıkışını alır ve çağrı yığınını gösteren bir ileti kutusu görüntüler.

Close()

Çıkış arabelleği temizler ve ardından öğesini Listenerskapatır.

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

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

Belirtilen hata iletisini yayar.

Fail(String, String)

Bir hata iletisi ve ayrıntılı bir hata iletisi görüntüler.

Flush()

Çıkış arabelleği temizler ve arabelleğe alınan verilerin öğesine yazılmasına Listenersneden olur.

GetHashCode()

Varsayılan karma işlevi işlevi görür.

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

Type Geçerli örneğini alır.

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

Geçerli IndentLevel olanı bir artırır.

MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

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

İzleme yapılandırma verilerini yeniler.

ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.

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

Belirtilen iletiyi kullanarak koleksiyondaki Listeners izleme dinleyicilerine bir hata iletisi yazar.

TraceError(String, Object[])

Belirtilen nesne dizisini ve biçimlendirme bilgilerini kullanarak koleksiyondaki Listeners izleme dinleyicilerine bir hata iletisi yazar.

TraceInformation(String)

Belirtilen iletiyi kullanarak koleksiyondaki Listeners izleme dinleyicilerine bilgilendirici bir ileti yazar.

TraceInformation(String, Object[])

Belirtilen nesne dizisini ve biçimlendirme bilgilerini kullanarak koleksiyondaki Listeners izleme dinleyicilerine bilgilendirici bir ileti yazar.

TraceWarning(String)

Belirtilen iletiyi kullanarak koleksiyondaki Listeners izleme dinleyicilerine bir uyarı iletisi yazar.

TraceWarning(String, Object[])

Belirtilen nesne dizisini ve biçimlendirme bilgilerini kullanarak koleksiyondaki Listeners izleme dinleyicilerine bir uyarı iletisi yazar.

Unindent()

Geçerli IndentLevel olanı bir azaltır.

Write(Object)

Nesnesinin ToString() yönteminin değerini koleksiyondaki Listeners izleme dinleyicilerine yazar.

Write(Object, String)

Koleksiyondaki izleme dinleyicilerine bir kategori adı ve nesnenin ToString() yönteminin Listeners değerini yazar.

Write(String)

Koleksiyondaki izleme dinleyicilerine Listeners bir ileti yazar.

Write(String, String)

Koleksiyondaki Listeners izleme dinleyicilerine bir kategori adı ve ileti yazar.

WriteIf(Boolean, Object)

Bir koşul trueise, nesnesinin ToString() yönteminin değerini koleksiyondaki Listeners izleme dinleyicilerine yazar.

WriteIf(Boolean, Object, String)

Bir koşul trueise, koleksiyondaki izleme dinleyicilerine bir kategori adı ve nesnenin ToString() yönteminin Listeners değerini yazar.

WriteIf(Boolean, String)

Bir koşul trueise, koleksiyondaki Listeners izleme dinleyicilerine bir ileti yazar.

WriteIf(Boolean, String, String)

Koşul trueise, koleksiyondaki Listeners izleme dinleyicilerine bir kategori adı ve ileti yazar.

WriteLine(Object)

Nesnesinin ToString() yönteminin değerini koleksiyondaki Listeners izleme dinleyicilerine yazar.

WriteLine(Object, String)

Koleksiyondaki izleme dinleyicilerine bir kategori adı ve nesnenin ToString() yönteminin Listeners değerini yazar.

WriteLine(String)

Koleksiyondaki izleme dinleyicilerine Listeners bir ileti yazar.

WriteLine(String, String)

Koleksiyondaki Listeners izleme dinleyicilerine bir kategori adı ve ileti yazar.

WriteLineIf(Boolean, Object)

Bir koşul trueise, nesnesinin ToString() yönteminin değerini koleksiyondaki Listeners izleme dinleyicilerine yazar.

WriteLineIf(Boolean, Object, String)

Bir koşul trueise, koleksiyondaki izleme dinleyicilerine bir kategori adı ve nesnenin ToString() yönteminin Listeners değerini yazar.

WriteLineIf(Boolean, String)

Bir koşul trueise, koleksiyondaki Listeners izleme dinleyicilerine bir ileti yazar.

WriteLineIf(Boolean, String, String)

Koşul trueise, koleksiyondaki Listeners izleme dinleyicilerine bir kategori adı ve ileti yazar.

Ekinlikler

Refreshing

Bir TraceSource yapılandırmadan yenilenmesi gerektiğinde gerçekleşir.

Şunlara uygulanır

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

Bu güvenli iş parçacığı türüdür.

Ayrıca bkz.