Partager via


Kit de développement logiciel (SDK) du visualiseur concurrentiel

Vous pouvez instrumenter votre code source en utilisant le Kit de développement logiciel Visualiseur Concurrentiel pour afficher des informations supplémentaires dans le visualiseur d'accès concurrentiel.Vous pouvez associer des informations supplémentaires avec les phases et des événements dans votre code.Ces visualisations supplémentaires sont appelés jetons. Pour une introduction sur le sujet, consultez lntroduction au Concurrency Visualizer SDK.

Propriétés

Les balises, les étendues, et les messages ont chacun deux propriétés : catégorie et importance.Dans la boîte de dialogue Paramètres avancés, vous pouvez utiliser ces propriétés pour filtrer l'ensemble des jetons affichées.En outre, ces propriétés affectent la représentation visuelle des jetons.Par exemple, la taille des balises est utilisée pour représenter l'importance.En outre, la couleur est utilisée pour indiquer la catégorie.

Utilisation de base

Le Visualiseur concurrentiel expose un fournisseur par défaut que vous pouvez utiliser pour générer des jetons.Le fournisseur est déjà enregistré avec le Visualiseur concurrentiel et vous rien à faire d'autres pour inciter l'affichage des jetons dans l'interface utilisateur.

Visual Basic et C#

En C#, Visual Basic, et tout autre code managé, utilisez le fournisseur par défaut en appelant Markers.Il expose quatre fonctions pour générer des jetons : WriteFlag, EnterSpan, WriteMessage, et WriteAlert.Il y a plusieurs surcharges de ces fonctions, selon que vous souhaitez utiliser des valeurs par défaut pour les propriétés. La surcharge la plus simple prend un seul paramètre de chaîne de caractères qui spécifie la description de l'événement.La description s'affiche dans les rapports de Visualiseur concurrentiel.

Pour ajouter la prise en charge du Kit de développement logiciel en C# ou à un projet Visual Basic

  1. Dans la barre de menus, sélectionnez Analyser, Visualiseur concurrentiel, Ajouter le SDK au projet.

  2. Sélectionnez le projet dans lequel vous souhaitez accéder au Kit de développement logiciel puis choisissez le bouton Ajouter le SDK au projet sélectionné.

  3. Ajoutez les importations ou l'instruction using à votre code.

    using Microsoft.ConcurrencyVisualizer.Instrumentation;
    
    Imports Microsoft.ConcurrencyVisualizer.Instrumentation
    

C++

En C++, créez un objet marker_series, classe et utilisez-le pour appeler des fonctions. La classe marker_series expose trois fonctions pour générer des jetons, marker_series::write_flag, méthode, marker_series::write_message, méthode, et marker_series::write_alert, méthode.

Pour ajouter la prise en charge du Kit de développement logiciel en c++ ou C projet

  1. Dans la barre de menus, sélectionnez Analyser, Visualiseur concurrentiel, Ajouter le SDK au projet.

  2. Sélectionnez le projet dans lequel vous souhaitez accéder au Kit de développement logiciel puis choisissez le bouton Ajouter le SDK au projet sélectionné.

  3. Pour C++, incluez cvmarkersobj.h.Pour C, incluez cvmarkers.h.

  4. Ajoutez une instruction using à votre code.

    using namespace Concurrency::diagnostic;
    
  5. Créez un objet marker_series et passez-lui le constructeur span.

    marker_series mySeries;
    span s(mySeries, _T("Span description"));
    

Utilisation personnalisée

Pour les scénarios avancés, le Kit de développement logiciel Visualiseur Concurrentiel expose plus de contrôle. Deux concepts principaux sont associés à des scénarios plus avancés : fournisseurs de jeton et séries de jeton.Les fournisseurs de jeton sont différents des fournisseurs ETW (chacun a un GUID différent).Les séries de jetons sont les canaux séquentiels des événements qui sont générés par un fournisseur.Vous pouvez l'utiliser pour organiser les événements qui sont générés par un fournisseur de jeton.

Pour utiliser un fournisseur de jeton dans un projet C# ou Visual Basic

  1. Créez un objet MarkerWriter. Le constructeur prend un GUID.

  2. Pour enregistrer le fournisseur, ouvrez la boîte de dialogue Paramètres avancés du Visualiseur concurrentiel. Sélectionnez l'onglet Jetons puis choisissez le bouton Ajouter un nouveau fournisseur.Dans la boîte de dialogue Paramètres avancés, entrez un GUID qui a été utilisée pour créer le fournisseur et une description du fournisseur.

Pour utiliser un fournisseur de jeton dans un projet C++ ou C

  1. Utilisez la fonction CvInitProvider pour initialiser un PCV_PROVIDER. Le constructeur prend un GUID* et un PCV_PROVIDER*.

  2. Pour enregistrer le fournisseur, ouvrez la boîte de dialogue Paramètres avancés. Sélectionnez l'onglet Jetons puis choisissez le bouton Ajouter un nouveau fournisseur.Dans cette boîte de dialogue, entrez GUID qui a été utilisé pour créer le fournisseur et une description du fournisseur.

Pour utiliser la série d'un jeton dans un projet C# ou Visual Basic

  • Pour utiliser un nouvel MarkerSeries, créez-le d'abord à l'aide d'un objet MarkerWriter, et générez ensuite les événements de jeton directement à partir de la nouvelle série.

    MarkerSeries series1 = myMarkerWriter.CreateMarkerSeries(″Series 1″);
    series1.WriteFlag(″My flag″);
    
    Dim series1 As New myMarkerWriter.CreateMarkerSeries(″Series 1″)
    series1.WriteFlag(″My flag″)
    

Pour utiliser la série d'un jeton dans un projet C++

  • Créez un objet marker_series. Vous pouvez générer des événements de cette nouvelle série.

    marker_series series;
    series.write_flag(_T("Hello world!"));
    

Pour utiliser la série d'un jeton dans un projet C

  • Utilisez la fonction CvCreateMarkerSeries pour créer un PCV_MARKERSERIES.

    PCV_MARKERSERIES series;
    CvCreatemarkerSeries(myProvider, _T("My Series"), &series);
    CvWriteFlag(series, _T("Writing a flag"));
    

Rubriques connexes

Titre

Description

bibliothèque de référence C++

Décrit l'API du Visualiseur concurrentiel pour C++.

bibliothèque de référence C

Décrit l'API du Visualiseur concurrentiel pour C.

Microsoft.ConcurrencyVisualizer.Instrumentation

Décrit l'API du Visualiseur concurrentiel pour le code managé.

Visualiseur concurrence

Informations de référence pour les vues et rapports des fichiers de données de profilage générés à l'aide de la méthode de concurrence et comprenant des données d'exécution de thread.