Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Megjegyzés:
Ez a cikk a .NET-keretrendszerre vonatkozik. Ez nem vonatkozik a .NET újabb implementációira, beleértve a .NET 6-os és újabb verzióit.
Nyomkövetés, hibakeresés és TraceSource– az elküldött üzenetek gyűjtésére és rögzítésére szolgáló mechanizmussal kell rendelkeznie. A nyomkövetési üzeneteket a figyelők fogadják. A figyelő célja a nyomkövetési üzenetek gyűjtése, tárolása és átirányítása. A figyelők a nyomkövetési kimenetet egy megfelelő célhoz, például naplóhoz, ablakhoz vagy szövegfájlhoz irányítják.
A figyelők elérhetők a Hibakeresés, a Nyomkövetés és TraceSource az osztályok számára, amelyek mindegyike különböző figyelőobjektumoknak küldheti el a kimenetét. A leggyakrabban használt előre definiált figyelők a következők:
A TextWriterTraceListener átirányítja a kimenetet az TextWriter osztály egy példányára vagy bármire, ami egy Stream osztály. A konzolra vagy egy fájlba is írhat, mert ezek Stream osztályok.
Egy EventLogTraceListener eseménynaplóba átirányítja a kimenetet.
A DefaultTraceListener rendszer írási és writeLine-üzeneteket bocsát ki az OutputDebugString és a Debugger.Log metódus számára. A Visual Studióban ez azt eredményezi, hogy a hibakeresési üzenetek megjelennek a Kimeneti ablakban. A sikertelen és sikertelen érvényességi üzenetek az OutputDebugString Windows API-nak és a Debugger.Log metódusnak is kibocsáthatók, és egy üzenetmező is megjelenik. Ez a viselkedés a hibakeresési és nyomkövetési üzenetek alapértelmezett viselkedése, mivel a DefaultTraceListener automatikusan szerepel minden
Listenersgyűjteményben, és ez az egyetlen figyelő, amely automatikusan szerepel benne.A ConsoleTraceListener kimenet nyomon követését vagy hibakeresését a standard kimenetre vagy a standard hibastreamre irányítja.
A DelimitedListTraceListener követési vagy hibakeresési kimenetet egy szövegíróhoz, például egy streamíróhoz, vagy egy streamhez, például egy fájlstreamhez irányítja. A nyomkövetési kimenet a tulajdonság által Delimiter megadott elválasztót használó, tagolt szövegformátumban van.
Az XmlWriterTraceListener XML-kódként irányítja a nyomkövetési vagy hibakeresési outputot egy TextWriter vagy Stream-re, például egy FileStream.
Ha azt szeretné, hogy a DefaultTraceListener, a követés, és kimenetét bármely figyelő megkapja a TraceSource fogadása mellett, hozzá kell adnia azt a Listeners gyűjteményhez. További információt a Nyomkövetési figyelők létrehozása és inicializálása , valamint a TraceSource és szűrők használata nyomkövetésfigyelőkkel című témakörben talál. A Figyelők gyűjtemény bármely figyelője ugyanazokat az üzeneteket kapja a nyomkövetési kimeneti metódusoktól. Tegyük fel például, hogy két figyelőt állított be: egy TextWriterTraceListenert és egy EventLogTraceListenert. Minden figyelő ugyanazt az üzenetet kapja. A TextWriterTraceListener egy streamre irányítja a kimenetét, az EventLogTraceListener pedig egy eseménynaplóba irányítja a kimenetet.
Az alábbi példa bemutatja, hogyan küldhet kimenetet a Figyelők gyűjteménynek .
' Use this example when debugging.
Debug.WriteLine("Error in Widget 42")
' Use this example when tracing.
Trace.WriteLine("Error in Widget 42")
// Use this example when debugging.
System.Diagnostics.Debug.WriteLine("Error in Widget 42");
// Use this example when tracing.
System.Diagnostics.Trace.WriteLine("Error in Widget 42");
A hibakeresés és a nyomkövetés ugyanazt a figyelőgyűjteményt használja, ezért ha egy figyelőobjektumot ad hozzá egy Debug.Listeners-gyűjteményhez az alkalmazásban, az is bekerül a Trace.Listeners gyűjteménybe.
Az alábbi példa bemutatja, hogyan küldhet nyomkövetési adatokat egy konzolnak egy figyelő használatával:
Trace.Listeners.Clear()
Trace.Listeners.Add(New TextWriterTraceListener(Console.Out))
System.Diagnostics.Trace.Listeners.Clear();
System.Diagnostics.Trace.Listeners.Add(
new System.Diagnostics.TextWriterTraceListener(Console.Out));
Developer-Defined hallgatók
Saját figyelőket úgy határozhat meg, hogy az TraceListener alaposztályból örököl, és annak metódusait a saját testreszabott metódusaival felülírja. A fejlesztő által definiált figyelők létrehozásáról a .NET-keretrendszer referenciájában talál TraceListener további információt.