Ablaufverfolgung und Instrumentieren von AnwendungenTracing and Instrumenting Applications

Mithilfe der Ablaufverfolgung kann die Ausführung einer Anwendung überwacht werden.Tracing is a way for you to monitor the execution of your application while it is running. Beim Entwickeln können Sie eine .NET Framework-Anwendung mit einer Ablaufverfolgungs- und Debugginginstrumentation versehen, die sowohl beim Entwickeln als auch nach der Bereitstellung der Anwendung eingesetzt werden kann.You can add tracing and debugging instrumentation to your .NET Framework application when you develop it, and you can use that instrumentation both while you are developing the application and after you have deployed it. Mit den Klassen System.Diagnostics.Trace, System.Diagnostics.Debug und System.Diagnostics.TraceSource können Sie Informationen zu Fehlern und zur Anwendungsausführung in Protokollen, Textdateien oder auf anderen Medien für eine spätere Analyse aufzeichnen. You can use the System.Diagnostics.Trace, System.Diagnostics.Debug, and System.Diagnostics.TraceSource classes to record information about errors and application execution in logs, text files, or other devices for later analysis.

Der Begriff Instrumentierung bezeichnet die Fähigkeit, die Leistung eines Produkts zu überwachen oder zu messen und Fehler zu diagnostizieren.The term instrumentation refers to an ability to monitor or measure the level of a product's performance and to diagnose errors. In der Programmierung versteht man darunter die Fähigkeit eines Programms, folgende Funktionen zu bieten:In programming, this means the ability of an application to incorporate:

  • Codeablaufverfolgung: Erhalten informativer Meldungen über die Ausführung einer Anwendung zur Laufzeit.Code tracing - Receiving informative messages about the execution of an application at run time.

  • Debuggen: Ermitteln und Beheben von Programmierfehlern in einer Anwendung während der Entwicklungsphase.Debugging - Tracking down and fixing programming errors in an application under development. Weitere Informationen finden Sie unter Debuggen.For more information, see Debugging.

  • Leistungsindikatoren: Komponenten zur Ermittlung der Anwendungsleistung.Performance counters - Components that allow you to track the performance of your application. Weitere Informationen finden Sie unter Leistungsindikatoren.For more information, see Performance Counters.

  • Ereignisprotokolle: Komponenten, mit denen wichtige Ereignisse während der Anwendungsausführung erhalten und nachverfolgt werden können.Event logs - Components that allow you receive and track major events in the execution of your application. Weitere Informationen finden Sie in den Ausführungen zur EventLog-Klasse.For more information, see the EventLog class.

Das Instrumentieren einer Anwendung durch Platzieren von Ablaufverfolgungsanweisungen an strategischen Codestellen ist vor allem bei verteilten Anwendungen nützlich.Instrumenting your application by placing trace statements at strategic locations in your code is especially useful for distributed applications. Mithilfe von Ablaufverfolgungsanweisungen können Sie eine Anwendung so instrumentieren, dass nicht nur Informationen zu Fehlern angezeigt werden, sondern auch die Leistung der Anwendung überwacht wird.By using trace statements you can instrument an application not only to display information when things go wrong, but also to monitor how well the application is performing.

Die TraceSource-Klasse stellt erweiterte Funktionen zur Ablaufverfolgung bereit und kann anstelle der statischen Methoden der älteren Ablaufverfolgungsklassen Trace und Debug verwendet werden.The TraceSource class provides enhanced tracing features and can be used in place of the static methods of the older Trace and Debug tracing classes. Die vertrauten Klassen Trace und Debug werden weiterhin häufig verwendet, aber die TraceSource-Klasse wird für neue Ablaufverfolgungsbefehle, z. B. TraceEvent und TraceData, empfohlen. The familiar Trace and Debug classes are still widely used, but the TraceSource class is recommended for new tracing commands, such as TraceEvent and TraceData.

Die Trace-Klasse und die Debug-Klasse unterscheiden sich nur in einem Punkt: Die Prozeduren und Funktionen der Trace-Klasse werden standardmäßig in Releasebuilds kompiliert, die der Debug-Klasse nicht. The Trace and Debug classes are identical, except that procedures and functions of the Trace class are compiled by default into release builds, but those of the Debug class are not.

Die Trace-Klasse und die Debug-Klasse ermöglichen während der Entwicklung oder nach der Bereitstellung die Überwachung und Überprüfung der Anwendungsleistung.The Trace and Debug classes provide the means to monitor and examine application performance either during development or after deployment. Sie können beispielsweise die Trace-Klasse verwenden, um bestimmte Typen von Aktionen in einer bereitgestellten Anwendung nachzuverfolgen, während diese auftreten (z. B. die Erstellung neuer Datenbankverbindungen), und somit die Effizienz der Anwendung überwachen. For example, you can use the Trace class to track particular types of actions in a deployed application as they occur (for example, creation of new database connections), and can therefore monitor the application's efficiency.

Ablaufverfolgung und Debuggen von CodeCode Tracing and Debugging

Während der Entwicklung können Sie die Ausgabemethoden der Debug-Klasse verwenden, um Meldungen im Ausgabefenster der integrierten Entwicklungsumgebung (IDE) von Visual Studio anzuzeigen.During development, you can use the output methods of the Debug class to display messages in the Output window of the Visual Studio integrated development environment (IDE). Zum Beispiel:For example:

Trace.WriteLine("Hello World!")  
Debug.WriteLine("Hello World!")  
System.Diagnostics.Trace.WriteLine("Hello World!");  
System.Diagnostics.Debug.WriteLine("Hello World!");  

Jedes dieser Beispiele wird „Hallo Welt!“Each of these examples will display "Hello World!" im Ausgabefenster anzeigen, wenn die Anwendung im Debugger ausgeführt wird.in the Output window when the application is run in the debugger.

So können Sie Anwendungen anhand ihres Verhaltens in der Testumgebung debuggen und ihre Leistung optimieren.This enables you to debug your applications and optimize their performance based on their behavior in your test environment. Sie können die Anwendung im Debugbuild mit aktiviertem bedingtem Debug-Attribut debuggen, sodass Sie die gesamte Debugausgabe erhalten. You can debug your application in your debug build with the Debug conditional attribute turned on so that you receive all debugging output. Wenn die Anwendung zur Freigabe bereit ist, können Sie den Releasebuild kompilieren, ohne das bedingte Debug-Attribut zu aktivieren, damit der Compiler nicht den Debugcode in die endgültige ausführbare Version aufnimmt.When your application is ready for release, you can compile your release build without turning on the Debug conditional attribute, so that the compiler will not include your debugging code in the final executable. Weitere Informationen finden Sie unter Vorgehensweise: Bedingtes Kompilieren mit Ablaufverfolgung und Debuggen.For more information, see How to: Compile Conditionally with Trace and Debug. Weitere Informationen zu verschiedenen Buildkonfigurationen für die Anwendung finden Sie unter Kompilieren und Erstellen.For more information on different build configurations for your application, see Compiling and Building.

Mit den Methoden der Trace-Klasse können Sie die Codeausführung auch in einer installierten Anwendung verfolgen. You can also trace code execution in an installed application, using methods of the Trace class. Wenn Sie Ablaufverfolgungsschalter im Code platzieren, können Sie steuern, ob und in welchem Umfang eine Ablaufverfolgung stattfindet.By placing Trace Switches in your code, you can control whether tracing occurs and how extensive it is. Dadurch können Sie den Status der Anwendung in einer Produktionsumgebung überwachen.This lets you monitor the status of your application in a production environment. Dies ist vor allem bei Businessanwendungen wichtig, die aus mehreren Komponenten bestehen, die ihrerseits auf mehreren Computern ausgeführt werden.This is especially important in a business application that uses multiple components running on multiple computers. Über die Konfigurationsdatei steuern Sie die Verwendung der Schalter nach der Bereitstellung.You can control how the switches are used after deployment through the configuration file. Weitere Informationen finden Sie unter Vorgehensweise: Erstellen, Initialisieren und Konfigurieren von Ablaufverfolgungsschaltern.For more information, see How to: Create, Initialize and Configure Trace Switches.

Beim Entwickeln einer Anwendung, in der Ablaufverfolgung möglich sein soll, werden in der Regel Verfolgungs- und Debugmeldungen in den Anwendungscode eingetragen.When you are developing an application for which you intend to use tracing, you usually include both tracing and debugging messages in the application code. Wenn die Anwendung die Bereitstellungsphase erreicht hat, können Sie den Releasebuild kompilieren, ohne das bedingte Debuggen-Attribut zu aktivieren.When you are ready to deploy the application, you can compile your release build without turning on the Debug conditional attribute. Sie können jedoch das bedingte Attribut Ablaufverfolgung aktivieren, damit der Compiler den Ablaufverfolgungscode in die ausführbare Datei einträgt.However, you can turn on the Trace conditional attribute so that the compiler includes your trace code in the executable. Weitere Informationen finden Sie unter Vorgehensweise: Bedingtes Kompilieren mit Ablaufverfolgung und Debuggen.For more information, see How to: Compile Conditionally with Trace and Debug.

Phasen der CodeablaufverfolgungPhases of Code Tracing

Die Codeablaufverfolgung umfasst die folgenden drei Phasen:There are three phases of code tracing:

  1. Instrumentation: Der Verfolgungscode wird der Anwendung hinzugefügt.Instrumentation — you add trace code to your application.

  2. Ablaufverfolgung: Der Verfolgungscode schreibt Informationen in das angegebene Ziel.Tracing — the tracing code writes information to the specified target.

  3. Analyse: Die Ablaufverfolgungsinformationen werden ausgewertet, um Probleme in der Anwendung zu ermitteln und zu verstehen.Analysis — you evaluate the tracing information to identify and understand problems in the application.

Während der Entwicklung schreiben alle Debug- und Ablaufverfolgungsausgabemethoden standardmäßig Informationen in das Ausgabefenster in Visual Studio.During development, all debug and trace output methods write information to the Output window in Visual Studio by default. In einer bereitgestellten Anwendung schreiben die Methoden die Ablaufverfolgungsinformationen in die von Ihnen angegebenen Ziele.In a deployed application, the methods write tracing information to the targets you specify. Weitere Informationen zum Festlegen eines Ausgabeziels für die Ablaufverfolgung oder das Debuggen finden Sie unter Ablaufverfolgungslistener.For more information on specifying an output target for tracing or debugging, see Trace Listeners.

Im Folgenden finden Sie einen allgemeinen Überblick über die wichtigsten Schritte, die normalerweise bei der Analyse und Behebung potenzieller Probleme in bereitgestellten Anwendungen mithilfe der Ablaufverfolgung durchzuführen sind.The following is an overall view of the major steps typically involved in using tracing to analyze and correct potential problems in deployed applications. Weitere Informationen zur Durchführung dieser Schritte finden Sie unter dem entsprechenden Link.For more information on how to perform these steps, see the appropriate link.

So verwenden Sie die Ablaufverfolgung in einer AnwendungTo use tracing in an application
  1. Überlegen Sie, welche Ablaufverfolgungsausgabe nach der Bereitstellung der Anwendung an ihrem Einsatzort benötigt wird.Consider which tracing output you will want to receive onsite after you have deployed the application.

  2. Erstellen Sie eine Reihe von Schaltern.Create a set of switches. Weitere Informationen finden Sie unter Vorgehensweise: Konfigurieren von Ablaufverfolgungsschaltern.For more information, see How to: Configure Trace Switches.

  3. Fügen Sie die Ablaufverfolgungsanweisungen zum Anwendungscode hinzu.Add the trace statements to the application code.

  4. Bestimmen Sie, wo die Ablaufverfolgungsausgabe angezeigt werden soll, und fügen Sie die entsprechenden Listener hinzu.Determine where you want the tracing output to appear and add the appropriate listeners. Weitere Informationen finden Sie unter Erstellen und Initialisieren von Ablaufverfolgungslistenern.For more information, see Creating and Initializing Trace Listeners.

  5. Testen und debuggen Sie die Anwendung und den darin enthaltenen Ablaufverfolgungscode.Test and debug your application and the tracing code it contains.

  6. Kompilieren Sie die Anwendung mit einem der folgenden Verfahren in ausführbaren Code:Compile the application into executable code using one of the following procedures:

    • Verwenden Sie das Menü Erstellen zusammen mit der Seite Debuggen im Dialogfeld Eigenschaftenseite im Projektmappen-Explorer.Use the Build menu along with the Debug page of the Property Pages dialog box in Solution Explorer. Dies gilt für die Kompilierung in Visual Studio.Use this when compiling in Visual Studio.

      - oder –- or -

    • Verwenden Sie für die Kompilierung der Befehlszeile die Compileranweisungen Ablaufverfolgung und Debuggen.Use the Trace and Debug compiler directives for the command-line method of compiling. Weitere Informationen finden Sie unter Bedingtes Kompilieren mit Ablaufverfolgung und Debuggen.For more information, see Compiling Conditionally with Trace and Debug. Dies gilt für die Kompilierung von der Befehlszeile aus.Use this when compiling from the command line.

  7. Aktivieren Sie den entsprechenden Ablaufverfolgungsschalter, wenn zur Laufzeit ein Problem auftritt.If a problem occurs during run time, turn on the appropriate trace switch. Weitere Informationen finden Sie unter Konfigurieren von Ablaufverfolgungsschaltern.For more information, see Configuring Trace Switches.

    Der Ablaufverfolgungscode schreibt Ablaufverfolgungsmeldungen in ein angegebenes Ziel, z. B. einen Bildschirm, eine Textdatei oder ein Ereignisprotokoll.The tracing code writes tracing messages to a specified target, for example, a screen, a text file, or an event log. Das Ziel wird durch den Typ des in der Trace.Listeners-Auflistung eingetragenen Listeners bestimmt.The type of listener you included in the Trace.Listeners collection determines the target.

  8. Analysieren Sie die Ablaufverfolgungsmeldungen, um das Problem in der Anwendung zu ermitteln und zu verstehen.Analyze the tracing messages to identify and understand the problem in the application.

Instrumentation der Ablaufverfolgung und verteilte AnwendungenTrace Instrumentation and Distributed Applications

Beim Erstellen einer verteilten Anwendung ist es in der Regel schwierig, die Anwendung in der Weise zu testen, in der sie letzten Endes verwendet wird.When you create a distributed application, you might find it difficult to test the application in the manner in which it will be used. Wenige Entwicklungsteams haben die Möglichkeit, alle möglichen Kombinationen aus Betriebsystemen oder Webbrowsern (einschließlich aller lokalisierten Sprachoptionen) zu testen oder die hohe Zahl von Benutzern zu simulieren, die gleichzeitig auf die Anwendung zugreifen.Few development teams have the capability to test all possible combinations of operating systems or Web browsers (including all the localized language options), or to simulate the high number of users that will access the application at the same time. Unter diesen Umständen können Sie die Reaktion einer verteilten Anwendung auf hohes Datenaufkommen, verschiedene Setups und individuelles Endbenutzerverhalten nicht testen.Under these circumstances, you cannot test how a distributed application will respond to high volumes, different setups, and unique end-user behaviors. Außerdem haben viele Teile einer verteilten Anwendung keine Benutzeroberfläche, über die Sie direkt mit diesen Teilen interagieren oder ihre Aktivitäten anzeigen lassen könnten.Also, many parts of a distributed application have no user interface with which you can interact directly or view the activity of those parts.

Dieser Umstand lässt sich ausgleichen, indem verteilte Anwendungen mit Funktionalität versehen werden, um bestimmte wichtige Ereignisse, insbesondere auftretende Fehler, für die Systemadministratoren zu beschreiben. Bei dieser sogenannten Instrumentation werden Ablaufverfolgungsanweisungen an strategischen Stellen im Code platziert.However, you can compensate for this by enabling distributed applications to describe certain events of interest to system administrators, especially things that go wrong, by instrumenting the application — that is, by placing trace statements at strategic locations in your code. Dadurch können Sie, wenn zur Laufzeit unerwartete Vorkommnisse auftreten (z. B. extrem langsame Reaktionszeit), die wahrscheinliche Ursache ermitteln.Then if something unexpected occurs at run time (for example, excessively slow response time), you can determine the likely cause.

Mit Ablaufverfolgungsanweisungen können Sie die schwierige Aufgabe vermeiden, den ursprünglichen Quellcode überprüfen, bearbeiten, neu kompilieren und den Laufzeitfehler in der Debugumgebung reproduzieren zu müssen.With trace statements you can avoid the difficult task of examining the original source code, modifying it, recompiling, and attempting to produce the run-time error within the debugging environment. Beachten Sie, dass sich eine Anwendung nicht nur für die Anzeige von Fehlern, sondern auch für die Leistungsüberwachung instrumentieren lässt.Remember that you can instrument an application not only to display errors, but also to monitor performance.

Strategische Platzierung von AblaufverfolgungsanweisungenStrategic Placement of Trace Statements

Ablaufverfolgungsanweisungen, die zur Laufzeit eingesetzt werden sollen, müssen mit äußerster Sorgfalt platziert werden.You must exercise special care when placing your trace statements for use during run time. Überlegen Sie, welche Ablaufverfolgungsinformationen in einer bereitgestellten Anwendung wahrscheinlich benötigt werden, damit alle Möglichkeiten der Ablaufverfolgung entsprechend abgedeckt werden.You must consider what tracing information is likely to be needed in a deployed application, so that all likely tracing scenarios are adequately covered. Allerdings gibt es keine allgemeingültigen Richtlinien für die strategische Platzierung der Ablaufverfolgung, da die Anwendungen, in denen sie eingesetzt wird, sehr vielfältig sind.Because applications that use tracing vary widely, however, there are no general guidelines for strategic placement of tracing. Weitere Informationen zur Platzierung von Ablaufverfolgungsanweisungen finden Sie unter Vorgehensweise: Hinzufügen von Ablaufverfolgungsanweisungen zu Anwendungscode.For more information on placing trace statements, see How to: Add Trace Statements to Application Code.

Ausgabe der AblaufverfolgungOutput from Tracing

Die Ausgabe einer Ablaufverfolgung wird von als Listener bezeichneten Objekten aufgenommen.Trace output is collected by objects called listeners. Bei einem Listener handelt es sich um ein Objekt, das die Ablaufverfolgungsausgabe empfängt und in ein Ausgabemedium schreibt (in der Regel ein Fenster, ein Protokoll oder eine Textdatei).A listener is an object that receives trace output and writes it to an output device (usually a window, log, or text file). Wenn ein Ablaufverfolgungslistener erstellt wird, wird er in der Regel zur Trace.Listeners-Auflistung hinzugefügt, damit er die gesamte Ablaufverfolgungsausgabe empfängt.When a trace listener is created, it is typically added to the Trace.Listeners collection, allowing the listener to receive all trace output.

Ablaufverfolgungsinformationen werden immer wenigstens an das standardmäßige Trace-Ausgabeziel, den DefaultTraceListener, geschrieben.Tracing information is always written at least to the default Trace output target, the DefaultTraceListener. Wenn Sie den DefaultTraceListener aus irgendeinem Grund gelöscht haben, ohne andere Listener zur Listeners-Auflistung hinzuzufügen, erhalten Sie keine Ablaufverfolgungsmeldungen.If for some reason you have deleted the DefaultTraceListener without adding any other listeners to the Listeners collection, you will not receive any tracing messages. Weitere Informationen finden Sie unter Ablaufverfolgungslistener.For more information, see Trace Listeners.

Die sechs Debug-Member und Trace-Methoden, die Ablaufverfolgungsinformationen schreiben, sind in der folgenden Tabelle aufgeführt. The six Debug members and Trace methods that write tracing information are listed in the following table.

MethodeMethod AusgabeOutput
AssertAssert Der angegebene Text oder, falls keiner angegeben ist, die Aufrufliste.The specified text; or, if none is specified, the Call Stack. Die Ausgabe wird nur geschrieben, wenn die als Argument in der Assert-Anweisung angegebene Bedingung FALSE ist.The output is written only if the condition specified as an argument in the Assert statement is false.
FehlerFail Der angegebene Text oder, falls keiner angegeben ist, die Aufrufliste.The specified text; or, if none is specified, the Call Stack.
SchreibenWrite Der angegebene Text.The specified text.
WriteIfWriteIf Der angegebene Text, wenn die als Argument in der WriteIf-Anweisung angegebene Bedingung erfüllt ist.The specified text, if the condition specified as an argument in the WriteIf statement is satisfied.
WriteLineWriteLine Der angegebene Text und ein Wagenrücklaufzeichen.The specified text and a carriage return.
WriteLineIfWriteLineIf Der angegebene Text und ein Wagenrücklaufzeichen, wenn die als Argument in der WriteLineIf-Anweisung angegebene Bedingung erfüllt ist.The specified text and a carriage return, if the condition specified as an argument in the WriteLineIf statement is satisfied.

Alle Listener in der Listeners-Auflistung empfangen die Meldungen, die in der obigen Tabelle beschrieben sind, doch können die ausgeführten Aktionen variieren, je nachdem, welche Art von Listener die Meldung empfängt.All listeners in the Listeners collection receive the messages described in the above table, but the actions taken may vary depending on what kind of listener receives the message. Beispielsweise zeigt DefaultTraceListener ein Dialogfeld zur Assertion an, wenn er eine Benachrichtigung über einen Fehler oder fehlgeschlagenen Assert empfängt, wohingegen TextWriterTraceListener lediglich die Ausgabe in seinen Stream schreibt.For example, the DefaultTraceListener displays an assertion dialog box when it receives a Fail or failed Assert notification, but a TextWriterTraceListener simply writes the output to its stream.

Durch Implementieren eines eigenen Listeners können Sie benutzerdefinierte Ergebnisse erzielen.You can produce custom results by implementing your own listener. Ein benutzerdefinierter Ablaufverfolgungslistener könnte die Meldungen z. B. in einem Meldungsfeld anzeigen oder die Verbindung zu einer Datenbank herstellen, in der die Meldungen zu einer Tabelle hinzugefügt werden.A custom trace listener might, for example, display the messages to a message box, or connect to a database to add messages to a table. Alle benutzerdefinierten Listener sollten die sechs oben genannten Methoden unterstützen.All custom listeners should support the six methods mentioned above. Weitere Informationen zum Erstellen entwicklerdefinierter Listener finden Sie unter TraceListener in der Referenz zu .NET Framework. For more information on creating developer-defined listeners, see TraceListener in the .NET Framework reference.

Hinweis

In Visual Basic 2005Visual Basic 2005 wurde die in früheren Versionen von Visual Basic verfügbare Debug.Print-Methode durch die Methoden Debug.Write, Debug.WriteIf, Debug.WriteLine und Debug.WriteLineIf ersetzt.In Visual Basic 2005Visual Basic 2005, the Debug.Write, Debug.WriteIf, Debug.WriteLine, and Debug.WriteLineIf methods have replaced the Debug.Print method that was available in earlier versions of Visual Basic.

Die Methoden Write und WriteLine schreiben immer den von Ihnen angegebenen Text.The Write and WriteLine methods always write the text that you specify. Assert, WriteIf und WriteLineIf erfordern ein boolesches Argument, das steuert, ob der angegebene Text geschrieben wird oder nicht. Der angegebene Text wird nur geschrieben, wenn der Ausdruck TRUE (bei WriteIf und WriteLineIf) oder FALSE (bei Assert) lautet.Assert, WriteIf, and WriteLineIf require a Boolean argument that controls whether or not they write the specified text; they write the specified text only if the expression is true (for WriteIf and WriteLineIf), or false (for Assert). Die Fehler-Methode schreibt immer den angegebenen Text.The Fail method always writes the specified text. Weitere Informationen finden Sie unter Vorgehensweise: Hinzufügen von Ablaufverfolgungsanweisungen zu Anwendungscode und in der .NET Framework-Referenz.For more information, see How to: Add Trace Statements to Application Code and the .NET Framework reference.

SicherheitsaspekteSecurity Concerns

Wenn Sie vor der Bereitstellung einer ASP.NET-Anwendung nicht die Ablaufverfolgung und das Debuggen deaktivieren, könnte die Anwendung Informationen über sich selbst offen legen, die von böswilligen Programmen missbraucht werden könnten.If you do not disable tracing and debugging before deploying an ASP.NET application, your application may reveal information about itself that could be exploited by a malicious program. Weitere Informationen finden Sie unter Vorgehensweise: Bedingtes Kompilieren mit Ablaufverfolgung und Debuggen, Kompilieren und Erstellen und Vorgehensweise: Erstellen, Initialisieren und Konfigurieren von Ablaufverfolgungsschaltern.For more information, see How to: Compile Conditionally with Trace and Debug, Compiling and Building, and How to: Create, Initialize and Configure Trace Switches. Das Debuggen kann auch über Internetinformationendienste (IIS) konfiguriert werden.Debugging is also configurable through Internet Information Services (IIS).

Siehe auchSee Also

Trace
TraceSource
CodeverträgeCode Contracts
C#-, F#- und Visual Basic-ProjekttypenC#, F#, and Visual Basic Project Types
Vorgehensweise: Hinzufügen von Ablaufverfolgungsanweisungen zu AnwendungscodeHow to: Add Trace Statements to Application Code
Vorgehensweise: Bedingtes Kompilieren mit Ablaufverfolgung und DebuggenHow to: Compile Conditionally with Trace and Debug
Vorgehensweise: Erstellen, Initialisieren und Konfigurieren von AblaufverfolgungsschalternHow to: Create, Initialize and Configure Trace Switches
Vorgehensweise: Erstellen und Initialisieren von AblaufverfolgungsquellenHow to: Create and Initialize Trace Sources
Vorgehensweise: Verwenden von TraceSource und Filtern für AblaufverfolgungslistenerHow to: Use TraceSource and Filters with Trace Listeners
Trace Listeners (Ablaufverfolgungslistener)Trace Listeners
AblaufverfolgungsschalterTrace Switches