Bagikan melalui


Trace Kelas

Definisi

Menyediakan serangkaian metode dan properti yang membantu Anda melacak eksekusi kode Anda. Kelas ini tidak dapat diwariskan.

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

Contoh

Contoh berikut menggunakan Trace untuk menunjukkan awal dan akhir eksekusi program. Contohnya juga menggunakan Trace.Indent metode dan Trace.Unindent untuk membedakan output pelacakan. Untuk contoh Tracepenggunaan yang lebih lengkap , lihat Cara: Menambahkan Pernyataan Pelacakan ke Kode Aplikasi.

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

Keterangan

Anda dapat menggunakan properti dan metode di Trace kelas untuk merilis build instrumen. Instrumentasi memungkinkan Anda untuk memantau kesehatan aplikasi Anda yang berjalan dalam pengaturan kehidupan nyata. Pelacakan membantu Anda mengisolasi masalah dan memperbaikinya tanpa mengganggu sistem yang sedang berjalan.

Kelas ini menyediakan metode untuk menampilkan Assert kotak dialog, dan untuk memancarkan pernyataan yang akan selalu Fail. Kelas ini menyediakan metode tulis dalam variasi berikut:

Kelas BooleanSwitch dan TraceSwitch menyediakan sarana untuk mengontrol output pelacakan secara dinamis. Di aplikasi .NET Framework, Anda dapat memodifikasi nilai sakelar ini tanpa mengolah ulang aplikasi Anda. Untuk informasi tentang menggunakan file konfigurasi untuk mengatur sakelar di aplikasi .NET Framework, lihat Switch kelas dan Cara: Create, Menginisialisasi, dan Mengonfigurasi Sakelar Pelacakan.

Anda dapat menyesuaikan target output pelacakan dengan menambahkan TraceListener instans ke atau menghapus instans dari Listeners koleksi. Koleksi Listeners dibagikan oleh Debug dan Trace kelas; menambahkan pendengar jejak ke salah satu kelas menambahkan pendengar ke keduanya. Secara default, output jejak dipancarkan menggunakan DefaultTraceListener kelas .

Catatan

Menambahkan pendengar jejak ke Listeners koleksi dapat menyebabkan pengecualian dilemparkan saat melacak, jika sumber daya yang digunakan oleh pendengar pelacakan tidak tersedia. Kondisi dan pengecualian yang dilemparkan tergantung pada pendengar jejak dan tidak dapat dijumlahkan dalam topik ini. Mungkin berguna untuk melakukan panggilan ke Trace metode dalam try/catch blok untuk mendeteksi dan menangani pengecualian apa pun dari pendengar pelacakan.

Catatan

Jika Anda menambahkan pendengar jejak ke kode tepercaya sebagian, Anda akan mendapatkan SecurityException pengecualian, karena menambahkan pendengar jejak memerlukan UnmanagedCode izin. Untuk melacak sebagian kode tepercaya yang berjalan di kotak pasir di Visual Studio, jangan tambahkan pendengar pelacakan. Sebagai gantinya Trace , lihat pesan dan Debug di jendela Output .

Kelas Trace menyediakan properti untuk mendapatkan atau mengatur tingkat Indent dan IndentSize, dan apakah akan AutoFlush setelah setiap penulisan.

Di aplikasi .NET Framework, Anda dapat mengatur AutoFlush dan IndentSize untuk Trace dengan mengedit file konfigurasi yang sesuai dengan nama aplikasi Anda. File konfigurasi harus diformat seperti contoh berikut:

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

Atribut ConditionalAttribute diterapkan ke metode Trace. Pengkompilasi yang mendukung ConditionalAttribute mengabaikan panggilan ke metode ini kecuali TRACE didefinisikan sebagai simbol kompilasi bersyarat. Lihat dokumentasi pengkompilasi untuk menentukan apakah ConditionalAttribute didukung dan sintaks untuk menentukan simbol kompilasi bersyar.

Catatan

Dalam proyek Visual Studio, secara default, DEBUG simbol kompilasi kondisional didefinisikan untuk build debug, dan TRACE simbol didefinisikan untuk build debug dan rilis.

Untuk menentukan TRACE simbol kompilasi bersyar di C#, tambahkan /d:TRACE opsi ke baris perintah pengkompilasi saat Anda mengkompilasi kode menggunakan baris perintah, atau tambahkan #define TRACE ke bagian atas file Anda. Di Visual Basic, tambahkan /d:TRACE=True opsi ke baris perintah pengkompilasi atau tambahkan #Const TRACE=True ke file.

ConditionalAttribute tidak didukung oleh pengkompilasi C++. Untuk menyediakan fungsionalitas yang setara, Anda harus mengapit panggilan ke metode Trace dalam #if defined(TRACE) ... #endif blok, dan menambahkan /DTRACE opsi ke baris perintah pengkompilasi atau menambahkan #define TRACE ke file.

Properti

AutoFlush

Mendapatkan atau mengatur apakah Flush() harus dipanggil pada Listeners setelah setiap penulisan.

CorrelationManager

Mendapatkan manajer korelasi untuk utas untuk jejak ini.

IndentLevel

Mendapatkan atau mengatur tingkat inden.

IndentSize

Mendapatkan atau mengatur jumlah spasi dalam inden.

Listeners

Mendapatkan kumpulan pendengar yang memantau output jejak.

UseGlobalLock

Mendapatkan atau menetapkan nilai yang menunjukkan apakah kunci global harus digunakan.

Metode

Assert(Boolean)

Memeriksa kondisi; jika kondisinya , falsemenampilkan kotak pesan yang memperlihatkan tumpukan panggilan.

Assert(Boolean, String)

Memeriksa kondisi; jika kondisinya , falsemenghasilkan pesan tertentu dan menampilkan kotak pesan yang memperlihatkan tumpukan panggilan.

Assert(Boolean, String, String)

Memeriksa kondisi; jika kondisinya adalah false, menghasilkan dua pesan yang ditentukan dan menampilkan kotak pesan yang memperlihatkan tumpukan panggilan.

Close()

Bersihkan buffer output, lalu tutup Listeners.

Equals(Object)

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
Fail(String)

Memancarkan pesan kesalahan yang ditentukan.

Fail(String, String)

Memancarkan pesan kesalahan, dan pesan kesalahan terperinci.

Flush()

Menghapus buffer output, dan menyebabkan data buffer ditulis ke Listeners.

GetHashCode()

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetType()

Mendapatkan dari instans Type saat ini.

(Diperoleh dari Object)
Indent()

Meningkatkan arus IndentLevel satu per satu.

MemberwiseClone()

Membuat salinan dangkal dari saat ini Object.

(Diperoleh dari Object)
Refresh()

Merefresh data konfigurasi pelacakan.

ToString()

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)
TraceError(String)

Menulis pesan kesalahan ke pendengar pelacakan dalam Listeners koleksi menggunakan pesan yang ditentukan.

TraceError(String, Object[])

Menulis pesan kesalahan ke pendengar pelacakan dalam Listeners koleksi menggunakan array objek dan informasi pemformatan yang ditentukan.

TraceInformation(String)

Menulis pesan informasi ke pendengar pelacakan dalam Listeners koleksi menggunakan pesan yang ditentukan.

TraceInformation(String, Object[])

Menulis pesan informasi ke pendengar pelacakan dalam Listeners koleksi menggunakan array objek dan informasi pemformatan yang ditentukan.

TraceWarning(String)

Menulis pesan peringatan ke pendengar pelacakan dalam Listeners koleksi menggunakan pesan yang ditentukan.

TraceWarning(String, Object[])

Menulis pesan peringatan ke pendengar pelacakan dalam Listeners koleksi menggunakan array objek dan informasi pemformatan yang ditentukan.

Unindent()

Mengurangi saat ini IndentLevel satu per satu.

Write(Object)

Menulis nilai metode objek ToString() ke pendengar jejak dalam Listeners koleksi.

Write(Object, String)

Menulis nama kategori dan nilai metode objek ToString() ke pendengar jejak dalam Listeners koleksi.

Write(String)

Menulis pesan ke pendengar jejak dalam Listeners koleksi.

Write(String, String)

Menulis nama kategori dan pesan ke pendengar jejak dalam Listeners koleksi.

WriteIf(Boolean, Object)

Menulis nilai metode objek ToString() ke pendengar jejak dalam Listeners koleksi jika kondisinya adalah true.

WriteIf(Boolean, Object, String)

Menulis nama kategori dan nilai metode objek ToString() ke pendengar jejak dalam Listeners koleksi jika kondisinya adalah true.

WriteIf(Boolean, String)

Menulis pesan ke pendengar jejak dalam Listeners koleksi jika kondisinya adalah true.

WriteIf(Boolean, String, String)

Menulis nama kategori dan pesan ke pendengar jejak dalam Listeners koleksi jika kondisinya adalah true.

WriteLine(Object)

Menulis nilai metode objek ToString() ke pendengar jejak dalam Listeners koleksi.

WriteLine(Object, String)

Menulis nama kategori dan nilai metode objek ToString() ke pendengar jejak dalam Listeners koleksi.

WriteLine(String)

Menulis pesan ke pendengar jejak dalam Listeners koleksi.

WriteLine(String, String)

Menulis nama kategori dan pesan ke pendengar jejak dalam Listeners koleksi.

WriteLineIf(Boolean, Object)

Menulis nilai metode objek ToString() ke pendengar jejak dalam Listeners koleksi jika kondisinya adalah true.

WriteLineIf(Boolean, Object, String)

Menulis nama kategori dan nilai metode objek ToString() ke pendengar jejak dalam Listeners koleksi jika kondisinya adalah true.

WriteLineIf(Boolean, String)

Menulis pesan ke pendengar jejak dalam Listeners koleksi jika kondisinya adalah true.

WriteLineIf(Boolean, String, String)

Menulis nama kategori dan pesan ke pendengar jejak dalam Listeners koleksi jika kondisinya adalah true.

Acara

Refreshing

Terjadi ketika TraceSource perlu disegarkan dari konfigurasi.

Berlaku untuk

Keamanan Thread

Jenis ini aman untuk utas.

Lihat juga