Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
È possibile instrumentare il codice sorgente usando l'SDK del visualizzatore di concorrenza per visualizzare informazioni aggiuntive nel visualizzatore di concorrenza. È possibile associare i dati aggiuntivi alle fasi e agli eventi nel codice. Queste visualizzazioni aggiuntive sono note come marcatori. Per una procedura dettagliata introduttiva, vedere Introduzione all'SDK del visualizzatore di concorrenza.
Proprietà
I flag, gli intervalli e i messaggi hanno ognuna due proprietà: categoria e importanza. Nella finestra di dialogo Impostazioni avanzate è possibile usare queste proprietà per filtrare il set di marcatori visualizzati. Inoltre, queste proprietà influiscono sulla rappresentazione visiva dei marcatori. Ad esempio, la dimensione dei flag viene usata per rappresentare l'importanza. Inoltre, il colore viene usato per indicare la categoria.
Utilizzo di base
Il visualizzatore di concorrenza espone un provider predefinito che è possibile usare per generare marcatori. Il provider è già registrato insieme al visualizzatore di concorrenza e non è necessario eseguire altre operazioni per visualizzare gli indicatori nell'interfaccia utente.
C# r Visual Basic
In C#, Visual Basic e altro codice gestito usare il provider predefinito chiamando i metodi nella classe Markers . Espone quattro metodi per la generazione di marcatori: WriteFlag, EnterSpan, WriteMessage e WriteAlert. Esistono diverse versioni sovraccaricate per queste funzioni, in base all'uso di valori predefiniti per le proprietà. L'overload più semplice accetta solo un parametro stringa che specifica la descrizione dell'evento. La descrizione viene visualizzata nei report del visualizzatore di concorrenza.
Per aggiungere il supporto sdk a un progetto C# o Visual Basic
Sulla barra dei menu scegliere Analizza, Visualizzatore di concorrenza, Aggiungi SDK al progetto.
Selezionare il progetto in cui si vuole accedere all'SDK e quindi scegliere il pulsante Aggiungi SDK a progetto selezionato .
Aggiungere un'istruzione di importazione o di utilizzo al codice.
C++
In C++, creare un oggetto Class marker_series e usarlo per chiamare le funzioni. La marker_series classe espone tre funzioni per la generazione di marcatori, il metodo marker_series::write_flag, il metodo marker_series::write_message e il metodo marker_series::write_alert.
Per aggiungere il supporto SDK a un progetto C++ o C
Sulla barra dei menu scegliere Analizza, Visualizzatore di concorrenza, Aggiungi SDK al progetto.
Selezionare il progetto in cui si vuole accedere all'SDK e quindi scegliere il pulsante Aggiungi SDK a progetto selezionato .
Per il C++, includere
cvmarkersobj.h. Per C, includerecvmarkers.h.Aggiungere un'istruzione using al codice.
using namespace Concurrency::diagnostic;Creare un
marker_seriesoggetto e passarlo alspancostruttore.marker_series mySeries; span s(mySeries, _T("Span description"));
Utilizzo personalizzato
Per gli scenari avanzati, l'SDK del visualizzatore di concorrenza espone un maggiore controllo. Due concetti principali sono associati a scenari più avanzati: provider di marcatori e serie di marcatori. I fornitori di marcatori sono diversi fornitori ETW (ognuno ha un diverso GUID). Le serie di marcatori sono canali seriali di eventi generati da un provider. È possibile usarli per organizzare gli eventi generati da un provider di marcatori.
Per usare un nuovo provider di marcatori in un progetto C# o Visual Basic
Creare un oggetto MarkerWriter . Il costruttore accetta un GUID.
Per registrare il provider, aprire la finestra di dialogo Impostazioni avanzate del visualizzatore di concorrenza. Selezionare la scheda Marcatori e quindi scegliere il pulsante Aggiungi nuovo provider . Nella finestra di dialogo Impostazioni avanzate immettere il GUID usato per creare il provider e una descrizione del provider.
Per usare un nuovo provider di marcatori in un progetto C++ o C
Usare la
CvInitProviderfunzione per inizializzare un PCV_PROVIDER. Il costruttore accetta un GUID* e PCV_PROVIDER*.Per registrare il provider, aprire la finestra di dialogo Impostazioni avanzate . Selezionare la scheda Marcatori e quindi scegliere il pulsante Aggiungi nuovo provider . In questa finestra di dialogo immettere il GUID usato per creare il provider e una descrizione del provider.
Per usare una serie di marcatori in un progetto C# o Visual Basic
Per usare un nuovo MarkerSeries, crearlo prima usando un oggetto MarkerWriter e quindi generare eventi di marcatore direttamente dalla nuova serie.
Per usare una serie di marcatori in un progetto C++
Creare un oggetto
marker_series. È possibile generare eventi da questa nuova serie.marker_series series; series.write_flag(_T("Hello world!"));
Per usare una serie di marcatori in un progetto C
Usare la
CvCreateMarkerSeriesfunzione per creare un PCV_MARKERSERIES.PCV_MARKERSERIES series; CvCreatemarkerSeries(myProvider, _T("My Series"), &series); CvWriteFlag(series, _T("Writing a flag"));
Vedere anche
| Titolo | Description |
|---|---|
| Informazioni di riferimento sulla libreria C++ | Descrive l'API del visualizzatore di concorrenza per C++. |
| Informazioni di riferimento sulla libreria C | Descrive l'API del visualizzatore di concorrenza per C. |
| strumentazione | Descrive l'API del visualizzatore di concorrenza per il codice gestito. |
| Visualizzatore di concorrenza | Informazioni di riferimento per le visualizzazioni e i report dei file di dati di profilatura generati tramite il metodo di concorrenza e che includono i dati di esecuzione del thread. |