Programmes d’assistance du Kit de développement logiciel pour le débogageSDK Helpers for Debugging

Ces fonctions et les déclarations sont des fonctions d’assistance globales pour l’implémentation des moteurs de débogage, les évaluateurs d’expression et les fournisseurs de symbole en C++.These functions and declarations are global helper functions for implementing debug engines, expression evaluators, and symbol providers in C++.

Note

Il n’existe aucune version managée de ces fonctions et les déclarations pour l’instant.There are no managed versions of these functions and declarations at this time.

Vue d'ensembleOverview

Dans l’ordre pour les moteurs de débogage, les évaluateurs d’expression et les fournisseurs de symbole à utiliser par Visual Studio, ils doivent être inscrits.In order for debug engines, expression evaluators, and symbol providers to be used by Visual Studio, they must be registered. Cela est effectué en définissant des sous-clés de Registre et des entrées, également appelées « définition des mesures ».This is done by setting registry subkeys and entries, otherwise known as "setting metrics." Les fonctions globales suivantes sont conçues pour faciliter le processus de mise à jour de ces mesures.The following global functions are designed to ease the process of updating these metrics. Consultez la section sur les emplacements du Registre pour déterminer la disposition de chaque sous-clé de Registre est mis à jour par ces fonctions.See the section on Registry Locations to find out the layout of each registry subkey that is updated by these functions.

Fonctions de mesure généralGeneral Metric Functions

Il s’agit des fonctions générales utilisées par les moteurs de débogage.These are general functions used by debug engines. Des fonctions spécialisées pour les évaluateurs d’expression et les fournisseurs de symbole sont décrites en détail ultérieurement.Specialized functions for expression evaluators and symbol providers are detailed later.

GetMetric (méthode)GetMetric Method

Récupère une valeur métrique d’à partir du Registre.Retrieves a metric value from the registry.

HRESULT GetMetric(  
   LPCWSTR pszMachine,  
   LPCWSTR pszType,  
   REFGUID guidSection,  
   LPCWSTR pszMetric,  
   DWORD * pdwValue,  
   LPCWSTR pszAltRoot  
);  
ParamètreParameter DescriptionDescription
pszMachinepszMachine [in] Nom d’un ordinateur à distance dont Registre est écrits (NULL signifie l’ordinateur local).[in] Name of a possibly remote machine whose register will be written (NULL means local machine).
strType Argument de typepszType [in] Un des types de mesure.[in] One of the metric types.
guidSectionguidSection [in] GUID de moteur spécifique, d’évaluateur, exception, etc. Spécifie une sous-section sous un type de mesure pour un élément spécifique.[in] GUID of a specific engine, evaluator, exception, etc. This specifies a subsection under a metric type for a specific element.
pszMetricpszMetric [in] La mesure doit être obtenu.[in] The metric to be obtained. Cela correspond au nom d’une valeur spécifique.This corresponds to a specific value name.
pdwValuepdwValue [in] L’emplacement de stockage de la valeur de la métrique.[in] The storage location of the value from the metric. Il existe plusieurs types de GetMetric qui peut retourner une valeur DWORD (comme dans cet exemple), une chaîne BSTR, un GUID ou un tableau de GUID.There are several flavors of GetMetric that can return a DWORD (as in this example), a BSTR, a GUID, or an array of GUIDs.
pszAltRootpszAltRoot [in] Une racine de Registre de remplacement à utiliser.[in] An alternate registry root to use. La valeur NULL à utiliser la valeur par défaut.Set to NULL to use the default.

SetMetric (méthode)SetMetric Method

Définit la valeur de mesure spécifiée dans le Registre.Sets the specified metric value in the registry.

HRESULT SetMetric(  
         LPCWSTR pszType,  
         REFGUID guidSection,  
         LPCWSTR pszMetric,  
   const DWORD   dwValue,  
         bool    fUserSpecific,  
         LPCWSTR pszAltRoot  
);  
ParamètreParameter DescriptionDescription
strType Argument de typepszType [in] Un des types de mesure.[in] One of the metric types.
guidSectionguidSection [in] GUID de moteur spécifique, d’évaluateur, exception, etc. Spécifie une sous-section sous un type de mesure pour un élément spécifique.[in] GUID of a specific engine, evaluator, exception, etc. This specifies a subsection under a metric type for a specific element.
pszMetricpszMetric [in] La mesure doit être obtenu.[in] The metric to be obtained. Cela correspond au nom d’une valeur spécifique.This corresponds to a specific value name.
dwValuedwValue [in] L’emplacement de stockage de la valeur dans la mesure.[in] The storage location of the value in the metric. Il existe plusieurs types de SetMetric qui peut stocker une valeur DWORD (dans cet exemple), une chaîne BSTR, un GUID ou un tableau de GUID.There are several flavors of SetMetric that can store a DWORD (in this example), a BSTR, a GUID, or an array of GUIDs.
fUserSpecificfUserSpecific [in] TRUE si la métrique est spécifique à l’utilisateur et si elle doit être écrite dans la ruche de l’utilisateur au lieu de la ruche de l’ordinateur local.[in] TRUE if the metric is user-specific and if it should be written to the user's hive instead of the local machine hive.
pszAltRootpszAltRoot [in] Une racine de Registre de remplacement à utiliser.[in] An alternate registry root to use. La valeur NULL à utiliser la valeur par défaut.Set to NULL to use the default.

RemoveMetric (méthode)RemoveMetric Method

Supprime la mesure spécifiée à partir du Registre.Removes the specified metric from the registry.

HRESULT RemoveMetric(  
   LPCWSTR pszType,  
   REFGUID guidSection,  
   LPCWSTR pszMetric,  
   LPCWSTR pszAltRoot  
);  
ParamètreParameter DescriptionDescription
strType Argument de typepszType [in] Un des types de mesure.[in] One of the metric types.
guidSectionguidSection [in] GUID de moteur spécifique, d’évaluateur, exception, etc. Spécifie une sous-section sous un type de mesure pour un élément spécifique.[in] GUID of a specific engine, evaluator, exception, etc. This specifies a subsection under a metric type for a specific element.
pszMetricpszMetric [in] La mesure doit être supprimée.[in] The metric to be removed. Cela correspond au nom d’une valeur spécifique.This corresponds to a specific value name.
pszAltRootpszAltRoot [in] Une racine de Registre de remplacement à utiliser.[in] An alternate registry root to use. La valeur NULL à utiliser la valeur par défaut.Set to NULL to use the default.

EnumMetricSections (méthode)EnumMetricSections Method

Énumère les différentes sections de métriques dans le Registre.Enumerates the various metric sections in the registry.

HRESULT EnumMetricSections(  
   LPCWSTR pszMachine,  
   LPCWSTR pszType,  
   GUID *  rgguidSections,  
   DWORD * pdwSize,  
   LPCWSTR pszAltRoot  
);  
ParamètreParameter DescriptionDescription
pszMachinepszMachine [in] Nom d’un ordinateur à distance dont Registre est écrits (NULL signifie l’ordinateur local).[in] Name of a possibly remote machine whose register will be written (NULL means local machine).
strType Argument de typepszType [in] Un des types de mesure.[in] One of the metric types.
rgguidSectionsrgguidSections [dans, out] Tableau préallouée de GUID doit être renseigné.[in, out] Preallocated array of GUIDs to be filled in.
pdwSizepdwSize [in] Le nombre maximal de GUID qui peut être stocké dans le rgguidSections tableau.[in] The maximum number of GUIDs that can be stored in the rgguidSections array.
pszAltRootpszAltRoot [in] Une racine de Registre de remplacement à utiliser.[in] An alternate registry root to use. La valeur NULL à utiliser la valeur par défaut.Set to NULL to use the default.

Fonctions évaluateur d’expressionExpression Evaluator Functions

FonctionFunction DescriptionDescription
GetEEMetricGetEEMetric Récupère une valeur métrique d’à partir du Registre.Retrieves a metric value from the registry.
SetEEMetricSetEEMetric Définit la valeur de mesure spécifiée dans le Registre.Sets the specified metric value in the registry.
RemoveEEMetricRemoveEEMetric Supprime la mesure spécifiée à partir du Registre.Removes the specified metric from the registry.
GetEEMetricFileGetEEMetricFile Obtient un nom de fichier à partir de la mesure spécifiée et la charge, en retournant le contenu du fichier sous forme de chaîne.Gets a file name from the specified metric and loads it, returning the file contents as a string.

Fonctions de l’exceptionException Functions

FonctionFunction DescriptionDescription
GetExceptionMetricGetExceptionMetric Récupère une valeur métrique d’à partir du Registre.Retrieves a metric value from the registry.
SetExceptionMetricSetExceptionMetric Définit la valeur de mesure spécifiée dans le Registre.Sets the specified metric value in the registry.
RemoveExceptionMetricRemoveExceptionMetric Supprime la mesure spécifiée à partir du Registre.Removes the specified metric from the registry.
RemoveAllExceptionMetricsRemoveAllExceptionMetrics Supprime toutes les métriques d’exception à partir du Registre.Removes all exception metrics from the registry.

Fonctions de fournisseur de symboleSymbol Provider Functions

FonctionFunction DescriptionDescription
GetSPMetricGetSPMetric Récupère une valeur métrique d’à partir du Registre.Retrieves a metric value from the registry.
SetSPMetricSetSPMetric Définit la valeur de mesure spécifiée dans le Registre.Sets the specified metric value in the registry.
RemoveSPMetricRemoveSPMetric Supprime la mesure spécifiée à partir du Registre.Removes the specified metric from the registry.

Fonctions d’énumérationEnumeration Functions

FonctionFunction DescriptionDescription
EnumMetricSectionsEnumMetricSections Énumère toutes les métriques pour un type de mesure spécifié.Enumerates all metrics for a specified metric type.
EnumDebugEngineEnumDebugEngine Énumère les moteurs de débogage inscrits.Enumerates the registered debug engines.
EnumEEsEnumEEs Énumère les évaluateurs d’expression inscrit.Enumerates the registered expression evaluators.
EnumExceptionMetricsEnumExceptionMetrics Énumère toutes les métriques d’exception.Enumerates all exception metrics.

Définitions de métriquesMetric Definitions

Ces définitions peuvent servir pour les noms de métrique prédéfinis.These definitions can be used for predefined metric names. Les noms correspondent aux différentes clés de Registre et les noms de valeur et sont tous définis en tant que chaînes de caractères larges : par exemple, extern LPCWSTR metrictypeEngine.The names correspond to various registry keys and value names and are all defined as wide character strings: for example, extern LPCWSTR metrictypeEngine.

Types de mesures prédéfinisPredefined Metric Types Description : La clé de base pour...Description: The base key for....
metrictypeEnginemetrictypeEngine Toutes les métriques du moteur de débogage.All debug engine metrics.
metrictypePortSuppliermetrictypePortSupplier Toutes les métriques de fournisseur de port.All port supplier metrics.
metrictypeExceptionmetrictypeException Toutes les métriques de l’exception.All exception metrics.
metricttypeEEExtensionmetricttypeEEExtension Toutes les extensions d’évaluateur d’expression.All expression evaluator extensions.
Propriétés du moteur de débogageDebug Engine Properties DescriptionDescription
metricAddressBPmetricAddressBP La valeur différente de zéro pour indiquer la prise en charge des points d’arrêt de l’adresse.Set to nonzero to indicate support for address breakpoints.
metricAlwaysLoadLocalmetricAlwaysLoadLocal La valeur différente de zéro pour toujours charger le moteur de débogage localement.Set to nonzero in order to always load the debug engine locally.
metricLoadInDebuggeeSessionmetricLoadInDebuggeeSession NON UTILISÉNOT USED
metricLoadedByDebuggeemetricLoadedByDebuggee La valeur différente de zéro pour indiquer que le moteur de débogage ne sera toujours chargé avec ou par le programme en cours de débogage.Set to nonzero to indicate that the debug engine will always be loaded with or by the program being debugged.
metricAttachmetricAttach La valeur différente de zéro pour indiquer la prise en charge des pièces jointes pour les programmes existants.Set to nonzero to indicate support for attachment to existing programs.
metricCallStackBPmetricCallStackBP La valeur différente de zéro pour indiquer la prise en charge des points d’arrêt de la pile des appels.Set to nonzero to indicate support for call stack breakpoints.
metricConditionalBPmetricConditionalBP La valeur différente de zéro pour indiquer la prise en charge pour la définition de points d’arrêt conditionnels.Set to nonzero to indicate support for the setting of conditional breakpoints.
metricDataBPmetricDataBP La valeur différente de zéro pour indiquer la prise en charge pour la définition de points d’arrêt sur les modifications apportées aux données.Set to nonzero to indicate support for the setting of breakpoints on changes in data.
metricDisassemblymetricDisassembly Définir à différente de zéro pour indiquer la prise en charge pour la production d’une liste de code machine.Set to nonzero to indicate support for the production of a disassembly listing.
metricDumpWritingmetricDumpWriting La valeur différente de zéro pour indiquer la prise en charge de l’écriture (du vidage de mémoire à un périphérique de sortie) de vidage.Set to nonzero to indicate support for dump writing (the dumping of memory to an output device).
metricENCmetricENC Définir à différente de zéro pour indiquer la prise en charge par Modifier & Continuer.Set to nonzero to indicate support for Edit and Continue. Remarque : un moteur de débogage personnalisé, cela ne doit jamais défini ou doit toujours défini à 0.Note: A custom debug engine should never set this or should always set it to 0.
metricExceptionsmetricExceptions La valeur différente de zéro pour indiquer la prise en charge pour les exceptions.Set to nonzero to indicate support for exceptions.
metricFunctionBPmetricFunctionBP La valeur différente de zéro pour indiquer la prise en charge des points d’arrêt nommées (points d’arrêt qui rompent lorsqu’un certain nom de fonction est appelé).Set to nonzero to indicate support for named breakpoints (breakpoints that break when a certain function name is called).
metricHitCountBPmetricHitCountBP La valeur différente de zéro pour indiquer la prise en charge pour le paramètre du « point d’accès » points d’arrêt (points d’arrêt qui sont déclenchés uniquement une fois atteint un certain nombre de fois).Set to nonzero to indicate support for the setting of "hit point" breakpoints (breakpoints that are triggered only after being hit a certain number of times).
metricJITDebugmetricJITDebug Définir à différente de zéro pour indiquer la prise en charge pour le débogage juste-à-temps (le débogueur est lancé lorsqu’une exception se produit dans un processus en cours d’exécution).Set to nonzero to indicate support for just-in-time debugging (the debugger is launched when an exception occurs in a running process).
metricMemorymetricMemory NON UTILISÉNOT USED
metricPortSuppliermetricPortSupplier Affectez la valeur le CLSID du fournisseur de port si elle est implémentée.Set this to the CLSID of the port supplier if one is implemented.
metricRegistersmetricRegisters NON UTILISÉNOT USED
metricSetNextStatementmetricSetNextStatement La valeur différente de zéro pour indiquer la prise en charge de définir l’instruction suivante (qui ignore l’exécution d’instructions intermédiaires).Set to nonzero to indicate support for setting the next statement (which skips execution of intermediate statements).
metricSuspendThreadmetricSuspendThread La valeur différente de zéro pour indiquer la prise en charge pour suspendre l’exécution du thread.Set to nonzero to indicate support for suspending thread execution.
metricWarnIfNoSymbolsmetricWarnIfNoSymbols La valeur différente de zéro pour indiquer que l’utilisateur doit être informé s’il n’y a aucun symbole.Set to nonzero to indicate that the user should be notified if there are no symbols.
metricProgramProvidermetricProgramProvider Définissez cette propriété sur le CLSID du fournisseur de programme.Set this to the CLSID of the program provider.
metricAlwaysLoadProgramProviderLocalmetricAlwaysLoadProgramProviderLocal Définissez cette propriété à différente de zéro pour indiquer que le fournisseur du programme doit toujours être chargé localement.Set this to nonzero to indicate that the program provider should always be loaded locally.
metricEngineCanWatchProcessmetricEngineCanWatchProcess Affectez la valeur différente de zéro pour indiquer que le moteur de débogage surveillera pour traiter les événements au lieu du fournisseur du programme.Set this to nonzero to indicate that the debug engine will watch for process events instead of the program provider.
metricRemoteDebuggingmetricRemoteDebugging Affectez la valeur différente de zéro pour indiquer la prise en charge pour le débogage distant.Set this to nonzero to indicate support for remote debugging.
metricEncUseNativeBuildermetricEncUseNativeBuilder Définissez cette propriété à différente de zéro pour indiquer que le modifier et continuer le gestionnaire doivent utiliser encbuild.dll du moteur débogage pour générer pour modifier & Continuer.Set this to nonzero to indicate that the Edit and Continue Manager should use the debug engine's encbuild.dll to build for Edit and Continue. Remarque : un moteur de débogage personnalisé, cela ne doit jamais défini ou doit toujours défini à 0.Note: A custom debug engine should never set this or should always set it to 0.
metricLoadUnderWOW64metricLoadUnderWOW64 Affectez la valeur différente de zéro pour indiquer que le moteur de débogage doit être chargé dans le processus du programme débogué sous WOW lors du débogage d’un processus 64 bits. dans le cas contraire, le moteur de débogage chargé dans le processus de Visual Studio (qui s’exécute sous WOW64).Set this to nonzero to indicate that the debug engine should be loaded in the debuggee process under WOW when debugging a 64-bit process; otherwise, the debug engine will be loaded in the Visual Studio process (which is running under WOW64).
metricLoadProgramProviderUnderWOW64metricLoadProgramProviderUnderWOW64 Affectez la valeur différente de zéro pour indiquer que le fournisseur du programme doit être chargé dans le processus du programme débogué lors du débogage d’un processus 64 bits en mode WOW ; Sinon, elle est chargée dans le processus de Visual Studio.Set this to nonzero to indicate that the program provider should be loaded in the debuggee process when debugging a 64-bit process under WOW; otherwise, it will be loaded in the Visual Studio process.
metricStopOnExceptionCrossingManagedBoundarymetricStopOnExceptionCrossingManagedBoundary Affectez la valeur différente de zéro pour indiquer que le processus doit s’arrêter si une exception non gérée est levée au-delà des limites de code managé/non managé.Set this to nonzero to indicate that the process should stop if an unhandled exception is thrown across managed/unmanaged code boundaries.
metricAutoSelectPrioritymetricAutoSelectPriority Définissez cette propriété sur une priorité pour la sélection automatique du moteur de débogage (plus les valeurs égal à priorité plus élevée).Set this to a priority for automatic selection of the debug engine (higher values equals higher priority).
metricAutoSelectIncompatibleListmetricAutoSelectIncompatibleList Clé de Registre contenant des entrées qui spécifient des GUID pour les moteurs de débogage doivent être ignorés dans la sélection automatique.Registry key containing entries that specify GUIDs for debug engines to be ignored in automatic selection. Ces entrées sont un nombre (0, 1, 2 et ainsi de suite) avec un GUID, exprimé sous forme de chaîne.These entries are a number (0, 1, 2, and so on) with a GUID expressed as a string.
metricIncompatibleListmetricIncompatibleList Clé de Registre contenant des entrées qui spécifient des GUID pour les moteurs de débogage ne sont pas compatibles avec ce moteur de débogage.Registry key containing entries that specify GUIDs for debug engines that are incompatible with this debug engine.
metricDisableJITOptimizationmetricDisableJITOptimization Affectez la valeur différente de zéro pour indiquer que les optimisations juste-à-temps (pour le code managé) doivent être désactivées pendant le débogage.Set this to nonzero to indicate that just-in-time optimizations (for managed code) should be disabled during debugging.
Propriétés évaluateur d’expressionExpression Evaluator Properties DescriptionDescription
metricEnginemetricEngine Il conserve le nombre de moteurs de débogage qui prennent en charge de l’évaluateur d’expression spécifié.This holds the number of debug engines that support the specified expression evaluator.
metricPreloadModulesmetricPreloadModules Affectez la valeur différente de zéro pour indiquer que les modules doivent être préchargées lorsqu’un évaluateur d’expression est exécutée sur un programme.Set this to nonzero to indicate that modules should be preloaded when an expression evaluator is launched against a program.
metricThisObjectNamemetricThisObjectName Définissez cette propriété sur le nom d’objet « this ».Set this to the "this" object name.
Propriétés de Extension évaluateur d’expressionExpression Evaluator Extension Properties DescriptionDescription
metricExtensionDllmetricExtensionDll Nom de la dll qui prend en charge cette extension.Name of the dll that supports this extension.
metricExtensionRegistersSupportedmetricExtensionRegistersSupported Liste des registres pris en charge.List of registers supported.
metricExtensionRegistersEntryPointmetricExtensionRegistersEntryPoint Point d’entrée pour l’accès aux registres.Entry point for accessing registers.
metricExtensionTypesSupportedmetricExtensionTypesSupported Liste des types pris en charge.List of types supported.
metricExtensionTypesEntryPointmetricExtensionTypesEntryPoint Point d’entrée pour accéder aux types.Entry point for accessing types.
Propriétés des ports de fournisseurPort Supplier Properties DescriptionDescription
metricPortPickerCLSIDmetricPortPickerCLSID Le CLSID du sélecteur de port (une boîte de dialogue l’utilisateur peut utiliser pour sélectionner des ports et ajouter des ports à utiliser pour le débogage).The CLSID of the port picker (a dialog box the user can use to select ports and add ports to use for debugging).
metricDisallowUserEnteredPortsmetricDisallowUserEnteredPorts Différent de zéro si les ports entré par l’utilisateur ne peut pas être ajoutés pour le fournisseur de port (Cela rend la boîte de dialogue Sélecteur de port essentiellement en lecture seule).Nonzero if the user-entered ports cannot be added to the port supplier (this makes the port-picker dialog box essentially read-only).
metricPidBasemetricPidBase L’ID de processus de base utilisé par le fournisseur de port lors de l’allocation d’ID de processus.The base process ID used by the port supplier when allocating process IDs.
Types de magasin SP prédéfinisPredefined SP Store Types DescriptionDescription
storetypeFilestoretypeFile Les symboles sont stockés dans un fichier distinct.The symbols are stored in a separate file.
storetypeMetadatastoretypeMetadata Les symboles sont stockés en tant que métadonnées dans un assembly.The symbols are stored as metadata in an assembly.
Autres propriétés.Miscellaneous Properties DescriptionDescription
metricShowNonUserCodemetricShowNonUserCode Affectez la valeur différente de zéro pour afficher le code de non-utilisateur.Set this to nonzero to show nonuser code.
metricJustMyCodeSteppingmetricJustMyCodeStepping Affectez la valeur différente de zéro pour indiquer que pas à pas détaillé peut se produire uniquement dans le code utilisateur.Set this to nonzero to indicate that stepping can occur only in user code.
metricCLSIDmetricCLSID CLSID d’un objet d’un type spécifique de métrique.CLSID for an object of a specific metric type.
metricNamemetricName Nom convivial pour un objet d’un type spécifique de métrique.User-friendly name for an object of a specific metric type.
metricLanguagemetricLanguage Nom de la langue.Language name.

Emplacements du RegistreRegistry Locations

Les mesures sont lues et écrites dans le Registre, en particulier dans le VisualStudio sous-clé.The metrics are read from and written to the registry, specifically in the VisualStudio subkey.

Note

La plupart du temps, les mesures sont écrites à la clé HKEY_LOCAL_MACHINE.Most of the time, the metrics will be written to the HKEY_LOCAL_MACHINE key. Cependant, parfois HKEY_CURRENT_USER sera la clé de destination.However, sometimes HKEY_CURRENT_USER will be the destination key. Dbgmetric.lib gère les deux clés.Dbgmetric.lib handles both keys. Lors de l’obtention d’une mesure, il recherche HKEY_CURRENT_USER en premier, puis HKEY_LOCAL_MACHINE.When getting a metric, it searches HKEY_CURRENT_USER first, then HKEY_LOCAL_MACHINE. Lorsqu’il configure une mesure, un paramètre spécifie quelle clé de niveau supérieur à utiliser.When it is setting a metric, a parameter specifies which top-level key to use.

[clé de Registre]\[registry key]\

Software\

Microsoft\

VisualStudio\

[racine version]\[version root]\

[métrique racine]\[metric root]\

[type de mesure]\[metric type]\

[métrique] = [valeur métrique][metric] = [metric value]

[métrique] = [valeur métrique][metric] = [metric value]

[métrique] = [valeur métrique][metric] = [metric value]

Espace réservéPlaceholder DescriptionDescription
[clé de Registre][registry key] HKEY_CURRENT_USER ou HKEY_LOCAL_MACHINE.HKEY_CURRENT_USER or HKEY_LOCAL_MACHINE.
[racine version][version root] La version de Visual Studio (par exemple, 7.0, 7.1, ou 8.0).The version of Visual Studio (for example, 7.0, 7.1, or 8.0). Toutefois, cette racine peut également être modifiée à l’aide de la /rootsuffix basculer vers devenv.exe.However, this root can also be modified using the /rootsuffix switch to devenv.exe. VSIP, ce modificateur est généralement pour Exp, de sorte que la racine de la version serait, par exemple, 8.0Exp.For VSIP, this modifier is typically Exp, so the version root would be, for example, 8.0Exp.
[métrique racine][metric root] Il s’agit soit AD7Metrics ou AD7Metrics(Debug), selon que la version debug de dbgmetric.lib est utilisée.This is either AD7Metrics or AD7Metrics(Debug), depending on whether the debug version of dbgmetric.lib is used. Remarque : ou non dbgmetric.lib est utilisé, cette convention d’affectation de noms doit être respectée si vous avez des différences entre debug et release versions doivent être mentionnées dans le Registre.Note: Whether or not dbgmetric.lib is used, this naming convention should be adhered to if you have differences between debug and release versions that must be reflected in the registry.
[type de mesure][metric type] Le type de mesure à écrire : Engine, ExpressionEvaluator, SymbolProvider, etc. Elles sont définies comme dbgmetric.h comme metricTypeXXXX, où XXXX est le nom de type spécifique.The type of metric to be written: Engine, ExpressionEvaluator, SymbolProvider, etc. These are all defined as in dbgmetric.h as metricTypeXXXX, where XXXX is the specific type name.
[métrique][metric] Le nom d’une entrée à assigner une valeur pour définir la métrique.The name of an entry to be assigned a value in order to set the metric. L’organisation réelle des métriques varie selon le type de mesure.The actual organization of the metrics depends on the metric type.
[valeur métrique][metric value] La valeur assignée à la métrique.The value assigned to the metric. Le type de que la valeur doit être (string), nombre, etc. dépend de la métrique.The type the value should have (string, number, etc.) depends on the metric.

Note

Tous les GUID sont stockés au format {GUID}.All GUIDs are stored in the format of {GUID}. Par exemple, {123D150B-FA18-461C-B218-45B3E4589F9B}.For example, {123D150B-FA18-461C-B218-45B3E4589F9B}.

Moteurs de débogageDebug Engines

Voici l’organisation des métriques de moteurs de débogage dans le Registre.The following is the organization of the debug engines metrics in the registry. Engine est le nom de type de mesure pour un moteur de débogage et correspond à [type de mesure] dans la sous-arborescence de Registre ci-dessus.Engine is the metric type name for a debug engine and corresponds to [metric type] in the above registry subtree.

Engine\

[moteur guid]\[engine guid]\

CLSID = [classe guid]CLSID = [class guid]

[métrique] = [valeur métrique][metric] = [metric value]

[métrique] = [valeur métrique][metric] = [metric value]

[métrique] = [valeur métrique][metric] = [metric value]

PortSupplier\

0 = [guid du fournisseur de port]0 = [port supplier guid]

1 = [guid du fournisseur de port]1 = [port supplier guid]

Espace réservéPlaceholder DescriptionDescription
[moteur guid][engine guid] Le GUID du moteur de débogage.The GUID of the debug engine.
[classe guid][class guid] Le GUID de la classe qui implémente ce moteur de débogage.The GUID of the class that implements this debug engine.
[guid du fournisseur de port][port supplier guid] Le GUID du fournisseur de port, le cas échéant.The GUID of the port supplier, if any. Nombre de moteurs de débogage utilisent le fournisseur de port par défaut et par conséquent, ne spécifient pas leur propre fournisseur.Many debug engines use the default port supplier and therefore do not specify their own supplier. Dans ce cas, la sous-clé PortSupplier apparaîtra.In this case, the subkey PortSupplier will be absent.

Fournisseurs de portPort Suppliers

Voici l’organisation des métriques de fournisseur de port dans le Registre.The following is the organization of the port supplier metrics in the registry. PortSupplier est le nom de type de mesure pour un fournisseur de port et correspond à [type de mesure].PortSupplier is the metric type name for a port supplier and corresponds to [metric type].

PortSupplier\

[guid du fournisseur de port]\[port supplier guid]\

CLSID = [classe guid]CLSID = [class guid]

[métrique] = [valeur métrique][metric] = [metric value]

[métrique] = [valeur métrique][metric] = [metric value]

Espace réservéPlaceholder DescriptionDescription
[guid du fournisseur de port][port supplier guid] Le GUID du fournisseur de portThe GUID of the port supplier
[classe guid][class guid] Le GUID de la classe qui implémente ce fournisseur de portThe GUID of the class that implements this port supplier

Fournisseurs de symboleSymbol Providers

Voici l’organisation des métriques de fournisseur de symbole dans le Registre.The following is the organization of the symbol supplier metrics in the registry. SymbolProvider est le nom de type de mesure pour le fournisseur de symbole et correspond à [type de mesure].SymbolProvider is the metric type name for the symbol provider and corresponds to [metric type].

SymbolProvider\

[guid du fournisseur de symboles]\[symbol provider guid]\

file\

CLSID = [classe guid]CLSID = [class guid]

[métrique] = [valeur métrique][metric] = [metric value]

[métrique] = [valeur métrique][metric] = [metric value]

metadata\

CLSID = [classe guid]CLSID = [class guid]

[métrique] = [valeur métrique][metric] = [metric value]

[métrique] = [valeur métrique][metric] = [metric value]

Espace réservéPlaceholder DescriptionDescription
[guid du fournisseur de symboles][symbol provider guid] Le GUID du fournisseur de symboleThe GUID of the symbol provider
[classe guid][class guid] Le GUID de la classe qui implémente ce fournisseur de symboleThe GUID of the class that implements this symbol provider

Évaluateurs d’expressionExpression Evaluators

Voici l’organisation des métriques d’évaluateur d’expression dans le Registre.The following is the organization of the expression evaluator metrics in the registry. ExpressionEvaluator est le nom de type de mesure de l’évaluateur d’expression et correspond à [type de mesure].ExpressionEvaluator is the metric type name for the expression evaluator and corresponds to [metric type].

Note

Le type de mesure pour ExpressionEvaluator n’est pas défini dans dbgmetric.h, il est supposé que toutes les modifications de métriques pour les évaluateurs d’expression passera via les fonctions de métrique évaluateur expression appropriée (la disposition de la ExpressionEvaluator sous-clé est quelque peu compliqué, les détails sont masqués à l’intérieur de dbgmetric.lib).The metric type for ExpressionEvaluator is not defined in dbgmetric.h, as it is assumed that all metric changes for expression evaluators will go through the appropriate expression evaluator metric functions (the layout of the ExpressionEvaluator subkey is somewhat complicated, so the details are hidden inside dbgmetric.lib).

ExpressionEvaluator\

[langue guid]\[language guid]\

[guid du fournisseur]\[vendor guid]\

CLSID = [classe guid]CLSID = [class guid]

[métrique] = [valeur métrique][metric] = [metric value]

[métrique] = [valeur métrique][metric] = [metric value]

Engine\

0 = [guid du moteur de débogage]0 = [debug engine guid]

1 = [guid du moteur de débogage]1 = [debug engine guid]

Espace réservéPlaceholder DescriptionDescription
[langue guid][language guid] Le GUID d’une langueThe GUID of a language
[guid du fournisseur][vendor guid] Le GUID d’un fournisseurThe GUID of a vendor
[classe guid][class guid] Le GUID de la classe qui implémente cette évaluateur d’expressionThe GUID of the class that implements this expression evaluator
[guid du moteur de débogage][debug engine guid] Le GUID de cette évaluateur d’expression fonctionne avec un moteur de débogageThe GUID of a debug engine that this expression evaluator works with

Extensions d’évaluateur d’expressionExpression Evaluator Extensions

Voici l’organisation des métriques expression évaluateur extension dans le Registre.The following is the organization of the expression evaluator extension metrics in the registry. EEExtensions est le nom de type de mesure pour l’expression extensions d’évaluateur et correspond à [type de mesure].EEExtensions is the metric type name for the expression evaluator extensions and corresponds to [metric type].

EEExtensions\

[guid de l’extension]\[extension guid]\

[métrique] = [valeur métrique][metric] = [metric value]

[métrique] = [valeur métrique][metric] = [metric value]

Espace réservéPlaceholder DescriptionDescription
[guid de l’extension][extension guid] Le GUID d’une extension d’évaluateur d’expressionThe GUID of an expression evaluator extension

ExceptionsExceptions

Voici l’organisation des métriques d’exceptions dans le Registre.The following is the organization of the exceptions metrics in the registry. Exception est le nom de type de mesure pour les exceptions et correspond à [type de mesure].Exception is the metric type name for the exceptions and corresponds to [metric type].

Exception\

[guid du moteur de débogage]\[debug engine guid]\

[types d’exceptions]\[exception types]\

[exception]\[exception]\

[métrique] = [valeur métrique][metric] = [metric value]

[métrique] = [valeur métrique][metric] = [metric value]

[exception]\[exception]\

[métrique] = [valeur métrique][metric] = [metric value]

[métrique] = [valeur métrique][metric] = [metric value]

Espace réservéPlaceholder DescriptionDescription
[guid du moteur de débogage][debug engine guid] Le GUID du moteur de débogage qui prend en charge des exceptions.The GUID of a debug engine that supports exceptions.
[types d’exceptions][exception types] Un titre général pour la sous-clé de la classe d’exceptions qui peuvent être gérés.A general title for the subkey identifying the class of exceptions that can be handled. Les noms par défaut sont des Exceptions C++, les Exceptions Win32, Exceptions Common Language Runtime, et contrôles d’exécution natifs.Typical names are C++ Exceptions, Win32 Exceptions, Common Language Runtime Exceptions, and Native Run-Time Checks. Ces noms sont également utilisés pour identifier une classe d’exception à l’utilisateur particulière.These names are also used to identify a particular class of exception to the user.
[exception][exception] Un nom pour une exception : par exemple, _com_error ou contrôle d’interruption.A name for an exception: for example, _com_error or Control-Break. Ces noms sont également utilisés pour identifier une exception particulière à l’utilisateur.These names are also used to identify a particular exception to the user.

SpécificationsRequirements

Ces fichiers se trouvent dans le Microsoft Visual Studio 2010Microsoft Visual Studio 2010 répertoire d’installation de kit de développement logiciel (par défaut, [lecteur] \Program Files\Microsoft Visual Studio 2010 SDK\).These files are located in the Microsoft Visual Studio 2010Microsoft Visual Studio 2010 SDK installation directory (by default, [drive] \Program Files\Microsoft Visual Studio 2010 SDK\).

En-tête : includes\dbgmetric.hHeader: includes\dbgmetric.h

Bibliothèque : libs\ad2de.lib, libs\dbgmetric.libLibrary: libs\ad2de.lib, libs\dbgmetric.lib

Voir aussiSee Also

Informations de référence sur les APIAPI Reference