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 /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 |
| Assert(Boolean, String) |
Bir koşulu denetler; koşulu ise |
| Assert(Boolean) |
Bir koşulu denetler; koşulu 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, 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 |
| WriteIf(Boolean, Object) |
Bir koşul ToString()nesnenin Listeners yönteminin değerini |
| WriteIf(Boolean, String, String) |
Bir koşul Listenersise, |
| WriteIf(Boolean, String) |
Bir koşul Listenersise, |
| 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 |
| WriteLineIf(Boolean, Object) |
Bir koşul ToString()nesnenin Listeners yönteminin değerini |
| WriteLineIf(Boolean, String, String) |
Bir koşul Listenersise, |
| WriteLineIf(Boolean, String) |
Bir koşul Listenersise, |
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.