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

Sürüm derlemelerini işaretlemek için sınıfındaki Trace özellikleri ve yöntemleri kullanabilirsiniz. İzleme, gerçek hayattaki ayarlarda çalışan uygulamanızın durumunu 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 uygulamalarında, uygulamanızı yeniden derlemeden bu anahtarların değerlerini değiştirebilirsiniz. .NET Framework uygulamasında anahtar ayarlamak için yapılandırma dosyasını kullanma hakkında bilgi için bkz. Switch sınıfı ve H nasıl yapılır: İzleme Anahtarları Oluşturma, Başlatma ve Yapılandırma.

TraceListener koleksiyonuna Listeners örnekleri ekleyerek veya örnekleri kaldırarak izleme çıktısının hedefini özelleştirebilirsiniz. Listeners koleksiyonu hem Debug hem de Trace sınıfları tarafından paylaşılır; her 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.

Note

Listeners koleksiyonuna izleme dinleyicisi eklemek, izleme dinleyicisi tarafından kullanılan bir kaynak kullanılamıyorsa 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 ve işlemek için Tracetry/ bloklarda catch yöntemlerine çağrılar yerleştirmek yararlı olabilir.

Note

Kısmen güvenilen koda izleme dinleyicileri eklerseniz, izleme dinleyicileri eklemek için izin gerektiğinden SecurityException bir UnmanagedCode ö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, Trace penceresinde ve Debug iletilerini görüntüleyin.

sınıfı Trace , ve 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 adına karşılık gelen yapılandırma dosyasını düzenleyerek AutoFlush için IndentSize ve Trace 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 Traceyöntemlerine uygulanır. ConditionalAttribute destekleyen derleyiciler, TRACE koşullu derleme simgesi olarak tanımlanmadığı sürece bu yöntemlere yapılan çağrıları yoksayar. ConditionalAttribute desteklenip desteklenmediğini ve koşullu derleme simgesi tanımlama söz dizimini belirlemek için derleyicinin belgelerine bakın.

Note

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

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

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

Özellikler

Name Description
AutoFlush

Her yazmadan sonra üzerinde Flush() çağrılıp çağrılmayacağını Listeners 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şluk sayısını alır veya ayarlar.

Listeners

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

UseGlobalLock

Genel kilidin kullanılıp kullanılmayacağını belirten bir değer alır veya ayarlar.

Yöntemler

Name Description
Assert(Boolean, String, String)

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

Assert(Boolean, String)

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

Assert(Boolean)

Bir koşulu denetler; koşulu ise false, ç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, String)

Bir hata iletisi ve ayrıntılı bir hata iletisi yayar.

Fail(String)

Belirtilen hata iletisini yayar.

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()

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

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

Geçerli IndentLevel bir artırır.

MemberwiseClone()

Geçerli Objectbasit bir kopyasını oluşturur.

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

İzleme yapılandırma verilerini yeniler.

ToString()

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

(Devralındığı yer: Object)
TraceError(String, Object[])

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

TraceError(String)

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

TraceInformation(String, Object[])

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

TraceInformation(String)

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

TraceWarning(String, Object[])

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

TraceWarning(String)

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

Unindent()

Geçerli IndentLevel bir azaltır.

Write(Object, String)

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

Write(Object)

nesnenin ToString() yönteminin değerini Listeners koleksiyonundaki izleme dinleyicilerine yazar.

Write(String, String)

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

Write(String)

Listeners koleksiyonundaki izleme dinleyicilerine bir ileti yazar.

WriteIf(Boolean, Object, String)

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

WriteIf(Boolean, Object)

Bir koşul ToString()nesnenin Listeners yönteminin değerini true koleksiyonundaki izleme dinleyicilerine yazar.

WriteIf(Boolean, String, String)

Bir koşul Listenersise, true koleksiyonundaki izleme dinleyicilerine bir kategori adı ve ileti yazar.

WriteIf(Boolean, String)

Bir koşul Listenersise, true koleksiyonundaki izleme dinleyicilerine bir ileti yazar.

WriteLine(Object, String)

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

WriteLine(Object)

nesnenin ToString() yönteminin değerini Listeners koleksiyonundaki izleme dinleyicilerine yazar.

WriteLine(String, String)

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

WriteLine(String)

Listeners koleksiyonundaki izleme dinleyicilerine bir ileti yazar.

WriteLineIf(Boolean, Object, String)

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

WriteLineIf(Boolean, Object)

Bir koşul ToString()nesnenin Listeners yönteminin değerini true koleksiyonundaki izleme dinleyicilerine yazar.

WriteLineIf(Boolean, String, String)

Bir koşul Listenersise, true koleksiyonundaki izleme dinleyicilerine bir kategori adı ve ileti yazar.

WriteLineIf(Boolean, String)

Bir koşul Listenersise, true koleksiyonundaki izleme dinleyicilerine bir ileti yazar.

Ekinlikler

Name Description
Refreshing

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

Şunlara uygulanır

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

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

Ayrıca bkz.