Trace Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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 |
Assert(Boolean, String) |
Bir koşulu denetler; koşul ise |
Assert(Boolean, String, String) |
Bir koşulu denetler; koşul ise |
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 |
WriteIf(Boolean, Object, String) |
Bir koşul |
WriteIf(Boolean, String) |
Bir koşul |
WriteIf(Boolean, String, String) |
Koşul |
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 |
WriteLineIf(Boolean, Object, String) |
Bir koşul |
WriteLineIf(Boolean, String) |
Bir koşul |
WriteLineIf(Boolean, String, String) |
Koşul |
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.