Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Sie können Ihren Quellcode mit dem Concurrency Visualizer SDK instrumentieren, um zusätzliche Informationen im Concurrency Visualizer anzuzeigen. Sie können die zusätzlichen Daten Phasen und Ereignissen in Ihrem Code zuordnen. Diese zusätzlichen Visualisierungen werden als Markierungen bezeichnet. Für eine Einführung, siehe Einführung in das Concurrency Visualizer SDK.
Eigenschaften
Flags, Spans und Nachrichten weisen jeweils zwei Eigenschaften auf: Kategorie und Wichtigkeit. Im Dialogfeld "Erweiterte Einstellungen " können Sie diese Eigenschaften verwenden, um die angezeigten Markierungen zu filtern. Darüber hinaus wirken sich diese Eigenschaften auf die visuelle Darstellung von Markierungen aus. Beispielsweise wird die Größe von Flags verwendet, um die Wichtigkeit darzustellen. Darüber hinaus wird die Farbe verwendet, um die Kategorie anzugeben.
Grundlegende Nutzung
Die Concurrency Visualizer stellt einen Standardanbieter bereit, den Sie zum Generieren von Markern verwenden können. Der Anbieter ist bereits zusammen mit der Concurrency Visualizer registriert, und Sie müssen nichts anderes tun, damit die Markierungen in der Benutzeroberfläche angezeigt werden.
C# und Visual Basic
Verwenden Sie in C#, Visual Basic und anderem verwalteten Code den Standardanbieter, indem Sie Methoden in der Markers-Klasse aufrufen. Es macht vier Methoden zum Generieren von Markern verfügbar: WriteFlag, EnterSpan, WriteMessage und WriteAlert. Es gibt mehrere Überladungen für diese Funktionen, je nachdem, ob Sie Standardwerte für die Eigenschaften verwenden möchten. Die einfachste Überladung verwendet nur einen Zeichenfolgenparameter, der die Beschreibung des Ereignisses angibt. Die Beschreibung wird in den Concurrency Visualizer-Berichten angezeigt.
So fügen Sie sdk-Unterstützung zu einem C#- oder Visual Basic-Projekt hinzu
Wählen Sie auf der Menüleiste "Analysieren", "Parallelitätsschnellansicht", "SDK zum Projekt hinzufügen" aus.
Wählen Sie das Projekt aus, in dem Sie auf das SDK zugreifen möchten, und wählen Sie dann die Schaltfläche "SDK zu ausgewähltem Projekt hinzufügen " aus.
Fügen Sie Ihrem Code eine Import- oder Using-Direktive hinzu.
C++
Erstellen Sie in C++ ein marker_series Class-Objekt , und verwenden Sie es zum Aufrufen von Funktionen. Die marker_series Klasse macht drei Funktionen zum Generieren von Markern, der marker_series::write_flag-Methode, der marker_series::write_message-Methode und der marker_series::write_alert-Methode verfügbar.
So fügen Sie sdk-Unterstützung zu einem C++- oder C-Projekt hinzu
Wählen Sie auf der Menüleiste "Analysieren", "Parallelitätsschnellansicht", "SDK zum Projekt hinzufügen" aus.
Wählen Sie das Projekt aus, in dem Sie auf das SDK zugreifen möchten, und wählen Sie dann die Schaltfläche "SDK zu ausgewähltem Projekt hinzufügen " aus.
Schließen Sie für C++ ein
cvmarkersobj.h. Geben Sie für C eincvmarkers.h.Fügen Sie Ihrem Code eine using-Anweisung hinzu.
using namespace Concurrency::diagnostic;Erstellen Sie ein
marker_seriesObjekt, und übergeben Sie es an denspanKonstruktor.marker_series mySeries; span s(mySeries, _T("Span description"));
Benutzerdefinierte Verwendung
Für erweiterte Szenarien macht das Concurrency Visualizer SDK mehr Kontrolle verfügbar. Zwei Hauptkonzepte sind mit komplexeren Szenarien verknüpft: Markeranbieter und Markierungsreihen. Markeranbieter sind unterschiedliche ETW-Anbieter (jede hat eine andere GUID). Markierungsreihen sind serielle Kanäle von Ereignissen, die von einem Anbieter generiert werden. Sie können sie verwenden, um die Ereignisse zu organisieren, die von einem Markeranbieter generiert werden.
So verwenden Sie einen neuen Markeranbieter in einem C#- oder Visual Basic-Projekt
Erstellen Sie ein MarkerWriter-Objekt . Der Konstruktor akzeptiert eine GUID.
Um den Anbieter zu registrieren, öffnen Sie das Dialogfeld "Erweiterte Einstellungen" des Konkurrenzvisualisierers. Wählen Sie die Registerkarte "Markierungen " und dann die Schaltfläche " Neuen Anbieter hinzufügen " aus. Geben Sie im Dialogfeld "Erweiterte Einstellungen " die GUID ein, die zum Erstellen des Anbieters und eine Beschreibung des Anbieters verwendet wurde.
So verwenden Sie einen neuen Markeranbieter in einem C++- oder C-Projekt
Verwenden Sie die
CvInitProviderFunktion, um eine PCV_PROVIDER zu initialisieren. Der Konstruktor akzeptiert eine GUID* und PCV_PROVIDER*.Um den Anbieter zu registrieren, öffnen Sie das Dialogfeld "Erweiterte Einstellungen ". Wählen Sie die Registerkarte "Markierungen " und dann die Schaltfläche " Neuen Anbieter hinzufügen " aus. Geben Sie in diesem Dialogfeld die GUID ein, die zum Erstellen des Anbieters und einer Beschreibung des Anbieters verwendet wurde.
So verwenden Sie eine Markierungsreihe in einem C#- oder Visual Basic-Projekt
Um eine neue MarkerSeries zu verwenden, erstellen Sie sie zuerst mithilfe eines MarkerWriter-Objekts , und generieren Sie dann Markerereignisse direkt aus der neuen Datenreihe.
So verwenden Sie eine Markierungsreihe in einem C++-Projekt
Erstellen eines
marker_series-Objekts Sie können Ereignisse aus dieser neuen Reihe generieren.marker_series series; series.write_flag(_T("Hello world!"));
So verwenden Sie eine Markierungsreihe in einem C-Projekt
Verwenden Sie die
CvCreateMarkerSeriesFunktion, um eine PCV_MARKERSERIES zu erstellen.PCV_MARKERSERIES series; CvCreatemarkerSeries(myProvider, _T("My Series"), &series); CvWriteFlag(series, _T("Writing a flag"));
Siehe auch
| Title | Description |
|---|---|
| C++-Bibliotheksreferenz | Beschreibt die Concurrency Visualizer-API für C++. |
| C-Bibliotheksreferenz | Beschreibt das Concurrency Visualizer API für die Programmiersprache C. |
| Instrumentierung | Beschreibt die Concurrency Visualizer-API für verwalteten Code. |
| Concurrency-Visualizer | Referenzinformationen für die Ansichten und Berichte von Profilerstellungsdatendateien, die mithilfe der Parallelitätsmethode generiert werden und Threadausführungsdaten enthalten. |