Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Du kan instrumentera källkoden med hjälp av Concurrency Visualizer SDK för att visa ytterligare information i Concurrency Visualizer. Du kan associera ytterligare data med faser och händelser i koden. Dessa ytterligare visualiseringar kallas markörer. En introduktionsgenomgång finns i Introduktion till Concurrency Visualizer SDK.
Egenskaper
Flaggor, intervall och meddelanden har båda två egenskaper: kategori och prioritet. I dialogrutan Avancerade inställningar kan du använda de här egenskaperna för att filtrera den uppsättning markörer som visas. Dessutom påverkar dessa egenskaper den visuella representationen av markörer. Storleken på flaggor används till exempel för att representera betydelse. Dessutom används färg för att ange kategori.
Grundläggande användning
Concurrency Visualizer exponerar en standardprovider som du kan använda för att generera markörer. Providern är redan registrerad tillsammans med Concurrency Visualizer och du behöver inte göra något annat för att markörer ska visas i användargränssnittet.
C# och Visual Basic
I C#, Visual Basic och annan hanterad kod använder du standardprovidern genom att anropa metoder i klassen Markörer . Den exponerar fyra metoder för att generera markörer: WriteFlag, EnterSpan, WriteMessage och WriteAlert. Det finns flera överlagringar för dessa funktioner, beroende på om du vill använda standardvärden för egenskaperna. Den enklaste överlagringen tar bara en strängparameter som anger beskrivningen av händelsen. Beskrivningen visas i concurrency Visualizer-rapporterna.
Lägga till SDK-stöd i ett C#- eller Visual Basic-projekt
På menyraden väljer du Analysera, Samtidighetsvisualiserare, Lägg till SDK i projektet.
Välj det projekt där du vill komma åt SDK:et och välj sedan knappen Lägg till SDK i markerat projekt .
Lägg till en import eller användningssats i koden.
C++
I C++skapar du ett marker_series class-objekt och använder det för att anropa funktioner. Klassen marker_series exponerar tre funktioner för att generera markörer, metoden marker_series::write_flag, metoden marker_series::write_message och metoden marker_series::write_alert.
Så här lägger du till SDK-stöd i ett C++ eller C-projekt
På menyraden väljer du Analysera, Samtidighetsvisualiserare, Lägg till SDK i projektet.
Välj det projekt där du vill komma åt SDK:et och välj sedan knappen Lägg till SDK i markerat projekt .
För C++, inkludera
cvmarkersobj.h. För C inkluderar ducvmarkers.h.Lägg till en using-instruktion i koden.
using namespace Concurrency::diagnostic;Skapa ett
marker_seriesobjekt och skicka det tillspankonstruktorn.marker_series mySeries; span s(mySeries, _T("Span description"));
Anpassad användning
För avancerade scenarier exponerar Concurrency Visualizer SDK mer kontroll. Två huvudbegrepp är associerade med mer avancerade scenarier: markörtillhandahållare och markörserier. Markörprovidrar är olika ETW-leverantörer (var och en har olika GUID). Markörserier är seriekanaler för händelser som genereras av en provider. Du kan använda dem för att organisera de händelser som genereras av en markörprovider.
Så här använder du en ny markörprovider i ett C#- eller Visual Basic-projekt
Skapa ett MarkerWriter-objekt . Konstruktorn tar ett GUID.
Om du vill registrera providern öppnar du dialogrutan Avancerade inställningar för Samtidighetsvisualiserare. Välj fliken Markörer och välj sedan knappen Lägg till ny provider . I dialogrutan Avancerade inställningar anger du det GUID som användes för att skapa providern och en beskrivning av providern.
Så här använder du en ny markörprovider i ett C++ eller C-projekt
CvInitProviderAnvänd funktionen för att initiera en PCV_PROVIDER. Konstruktorn tar en GUID* och en PCV_PROVIDER*.Om du vill registrera providern öppnar du dialogrutan Avancerade inställningar . Välj fliken Markörer och välj sedan knappen Lägg till ny provider . I den här dialogrutan anger du det GUID som användes för att skapa providern och en beskrivning av providern.
Så här använder du en markörserie i ett C#- eller Visual Basic-projekt
Om du vill använda en ny MarkerSeries skapar du den först med hjälp av ett MarkerWriter-objekt och genererar sedan markörhändelser direkt från den nya serien.
Så här använder du en markörserie i ett C++-projekt
Skapa ett
marker_seriesobjekt. Du kan generera händelser från den här nya serien.marker_series series; series.write_flag(_T("Hello world!"));
Så här använder du en markörserie i ett C-projekt
Använd
CvCreateMarkerSeries-funktionen för att skapa en PCV_MARKERSERIES.PCV_MARKERSERIES series; CvCreatemarkerSeries(myProvider, _T("My Series"), &series); CvWriteFlag(series, _T("Writing a flag"));
Se även
| Titel | Description |
|---|---|
| Referens för C++-bibliotek | API:et Concurrency Visualizer för C++ beskrivs. |
| Referens för C-bibliotek | Beskriver Concurrency Visualizer API:et för C. |
| Instrumentation | Beskriver API:et Concurrency Visualizer för hanterad kod. |
| Samtidighetsvisualiserare | Referensinformation för vyer och rapporter för profilering av datafiler som genereras med hjälp av samtidighetsmetoden och som innehåller trådkörningsdata. |