Condividi tramite


IDebugEngineLaunch2::LaunchSuspended

Questo metodo avvia un processo tramite il motore di debug (DE).

Sintassi

int LaunchSuspended(
   string               pszServer,
   IDebugPort2          pPort,
   string               pszExe,
   string               pszArgs,
   string               pszDir,
   string               bstrEnv,
   string               pszOptions,
   enum_LAUNCH_FLAGS    dwLaunchFlags,
   uint                 hStdInput,
   uint                 hStdOutput,
   uint                 hStdError,
   IDebugEventCallback2 pCallback,
   out IDebugProcess2   ppProcess
);

Parametri

pszMachine
[in] Nome del computer in cui avviare il processo. Usare un valore Null per specificare il computer locale.

pPort
[in] Interfaccia IDebugPort2 che rappresenta la porta in cui verrà eseguito il programma.

pszExe
[in] Nome dell'eseguibile da avviare.

pszArgs
[in] Argomenti da passare all'eseguibile. Può essere un valore Null se non sono presenti argomenti.

pszDir
[in] Nome della directory di lavoro utilizzata dall'eseguibile. Può essere un valore Null se non è necessaria alcuna directory di lavoro.

bstrEnv
[in] Blocco di ambiente di stringhe con terminazione NULL, seguito da un carattere di terminazione NULL aggiuntivo.

pszOptions
[in] Opzioni per l'eseguibile.

dwLaunchFlags
[in] Specifica il LAUNCH_FLAGS per una sessione.

hStdInput
[in] Handle in un flusso di input alternativo. Può essere 0 se il reindirizzamento non è obbligatorio.

hStdOutput
[in] Handle in un flusso di output alternativo. Può essere 0 se il reindirizzamento non è obbligatorio.

hStdError
[in] Handle in un flusso di output degli errori alternativo. Può essere 0 se il reindirizzamento non è obbligatorio.

pCallback
[in] Oggetto IDebugEventCallback2 che riceve gli eventi del debugger.

ppDebugProcess
[out] Restituisce l'oggetto IDebugProcess2 risultante che rappresenta il processo avviato.

Valore restituito

Se ha esito positivo, restituisce S_OK; in caso contrario, restituisce un codice di errore.

Osservazioni:

In genere, Visual Studio avvia un programma usando il metodo LaunchSuspended e quindi collega il debugger al programma sospeso. Tuttavia, esistono circostanze in cui il motore di debug potrebbe dover avviare un programma (ad esempio, se il motore di debug fa parte di un interprete e il programma sottoposto a debug è un linguaggio interpretato), nel qual caso Visual Studio usa il IDebugEngineLaunch2::LaunchSuspended metodo .

Il metodo ResumeProcess viene chiamato per avviare il processo dopo che il processo è stato avviato correttamente in uno stato sospeso.

Vedi anche