Condividi tramite


Metodo IDebugControl3::Execute (dbgeng.h)

Il metodo Execute esegue i comandi del debugger specificati.

Sintassi

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

Parametri

[in] OutputControl

Specifica il controllo di output da usare durante l'esecuzione del comando. Per i valori possibili, vedere DEBUG_OUTCTL_XXX. Per altre informazioni sull'output, vedere Input e output.

[in] Command

Specifica la stringa di comando da eseguire. Il comando viene interpretato come quelli digitati in una finestra di comando del debugger. Questa stringa di comando può contenere più comandi per l'esecuzione del motore. Per informazioni di riferimento sui comandi, vedere Debugger Commands (Comandi del debugger ).

[in] Flags

Specifica un campo di bit delle opzioni di esecuzione per il comando. Le opzioni predefinite consentono di registrare il comando ma di non inviarlo all'output. Nella tabella seguente sono elencati i bit che è possibile impostare.

Valore Descrizione
DEBUG_EXECUTE_ECHO La stringa di comando viene inviata all'output.
DEBUG_EXECUTE_NOT_LOGGED La stringa di comando non viene registrata. Questa operazione viene sostituita da DEBUG_EXECUTE_ECHO.
DEBUG_EXECUTE_NO_REPEAT Se Command è una stringa vuota, non ripetere l'ultimo comando e non salvare la stringa di comando corrente per ripetere l'esecuzione in un secondo momento.

Valore restituito

Questo metodo può anche restituire valori di errore. Per altri dettagli, vedere Valori restituiti .

Codice restituito Descrizione
S_OK
Il metodo è stato eseguito correttamente.

Commenti

Questo metodo esegue la stringa di comando specificata. Se la stringa include più comandi, questo metodo non restituirà finché non verranno eseguiti tutti i comandi. Se la sequenza di comandi prevede l'attesa dell'esecuzione della destinazione, il completamento di questo metodo può richiedere una quantità arbitraria di tempo.

Nota È importante comprendere cosa significa per l'esecuzione di un comando di passaggio. Un comando step avvia un'azione di istruzione, ma non attende il completamento dell'istruzione. Si supponga, ad esempio, di chiamare IDebugControl::Execute e passare una stringa di comando contenente il singolo comando pct. Il comando pct avvia un passaggio alla chiamata o all'istruzione di restituzione successiva, ma pct completa l'esecuzione prima che venga eseguita l'istruzione. Di conseguenza, IDebugControl::Execute restituisce prima che venga eseguita l'istruzione. I comandi Trace and Go si comportano in modo simile. Esempi di comandi con questo comportamento includono g, gh, ta, tb, tct, pa e pc.
 

Requisiti

Requisito Valore
Piattaforma di destinazione Desktop
Intestazione dbgeng.h (include Dbgeng.h)

Vedi anche

ExecuteCommandFile

Idebugcontrol

IDebugControl2

IDebugControl3