Partager via


IDebugControl2 ::Execute, méthode (dbgeng.h)

La méthode Execute exécute les commandes de débogueur spécifiées.

Syntaxe

HRESULT Execute(
  [in] ULONG OutputControl,
  [in] PCSTR Command,
  [in] ULONG Flags
);

Paramètres

[in] OutputControl

Spécifie le contrôle de sortie à utiliser lors de l’exécution de la commande. Pour connaître les valeurs possibles, consultez DEBUG_OUTCTL_XXX. Pour plus d’informations sur la sortie, consultez Entrée et Sortie.

[in] Command

Spécifie la chaîne de commande à exécuter. La commande est interprétée comme celles tapées dans une fenêtre de commande de débogueur. Cette chaîne de commande peut contenir plusieurs commandes que le moteur doit exécuter. Pour obtenir les informations de référence sur les commandes, consultez Commandes du débogueur .

[in] Flags

Spécifie un champ de bits des options d’exécution pour la commande. Les options par défaut sont de journaliser la commande, mais de ne pas l’envoyer à la sortie. Le tableau suivant répertorie les bits qui peuvent être définis.

Valeur Description
DEBUG_EXECUTE_ECHO La chaîne de commande est envoyée à la sortie.
DEBUG_EXECUTE_NOT_LOGGED La chaîne de commande n’est pas journalisée. Ce problème est remplacé par DEBUG_EXECUTE_ECHO.
DEBUG_EXECUTE_NO_REPEAT Si Command est une chaîne vide, ne répétez pas la dernière commande et n’enregistrez pas la chaîne de commande actuelle pour une exécution répétée ultérieurement.

Valeur retournée

Cette méthode peut également retourner des valeurs d’erreur. Pour plus d’informations, consultez Valeurs de retour .

Code de retour Description
S_OK
La méthode a réussi.

Remarques

Cette méthode exécute la chaîne de commande donnée. Si la chaîne a plusieurs commandes, cette méthode ne retourne pas tant que toutes les commandes n’ont pas été exécutées. Si la séquence de commandes implique l’attente de l’exécution de la cible, cette méthode peut prendre un temps arbitraire.

Note Il est important de comprendre ce que signifie l’exécution d’une commande d’étape. Une commande d’étape lance une action pas à pas, mais n’attend pas la fin de l’étape. Par exemple, supposons que vous appelez IDebugControl ::Execute et que vous transmettez une chaîne de commande qui contient la commande unique pct. La commande pct initie une étape à l’appel suivant ou à l’instruction de retour, mais pct termine son exécution avant que le pas à pas n’a lieu. Par conséquent, IDebugControl ::Execute retourne avant l’exécution de l’étape. Les commandes trace et go se comportent de la même manière. Parmi les exemples de commandes qui ont ce comportement, citons g, gh, ta, tb, tct, pa et pc.
 

Configuration requise

Condition requise Valeur
Plateforme cible Desktop (Expérience utilisateur)
En-tête dbgeng.h (inclure Dbgeng.h)

Voir aussi

ExecuteCommandFile

IDebugControl

IDebugControl2

IDebugControl3