Compartilhar via


Método ICorDebug::CreateProcess

Inicia um processo e seu thread primário sob o controle do depurador.

Sintaxe

HRESULT CreateProcess (  
    [in]  LPCWSTR                     lpApplicationName,  
    [in]  LPWSTR                      lpCommandLine,  
    [in]  LPSECURITY_ATTRIBUTES       lpProcessAttributes,  
    [in]  LPSECURITY_ATTRIBUTES       lpThreadAttributes,  
    [in]  BOOL                        bInheritHandles,  
    [in]  DWORD                       dwCreationFlags,  
    [in]  PVOID                       lpEnvironment,  
    [in]  LPCWSTR                     lpCurrentDirectory,  
    [in]  LPSTARTUPINFOW              lpStartupInfo,  
    [in]  LPPROCESS_INFORMATION       lpProcessInformation,  
    [in]  CorDebugCreateProcessFlags  debuggingFlags,  
    [out] ICorDebugProcess            **ppProcess  
);  

Parâmetros

lpApplicationName
[in] Ponteiro para uma cadeia de caracteres terminada em nulo que especifica o módulo a ser executado pelo processo iniciado. O módulo é executado no contexto de segurança do processo de chamada.

lpCommandLine
[in] Ponteiro para uma cadeia de caracteres terminada em nulo que especifica a linha de comando a ser executada pelo processo iniciado. O nome do aplicativo (por exemplo, "SomeApp.exe") deve ser o primeiro argumento.

lpProcessAttributes
[in] Ponteiro para uma estrutura Win32 SECURITY_ATTRIBUTES que especifica o descritor de segurança para o processo. Se lpProcessAttributes for nulo, o processo obterá um descritor de segurança padrão.

lpThreadAttributes
[in] Ponteiro para uma estrutura Win32 SECURITY_ATTRIBUTES que especifica o descritor de segurança para o thread primário do processo. Se lpThreadAttributes for nulo, o thread receberá um descritor de segurança padrão.

bInheritHandles
[in] Defina para true indicar que cada identificador herdável no processo de chamada é herdado pelo processo iniciado ou false para indicar que as alças não são herdadas. As alças herdadas têm o mesmo valor e direitos de acesso que os identificadores originais.

dwCreationFlags
[in] Uma combinação bit a bit dos Sinalizadores de Criação de Processo do Win32 que controlam a classe de prioridade e o comportamento do processo iniciado.

lpEnvironment
[in] Ponteiro para um bloco de ambiente para o novo processo.

lpCurrentDirectory
[in] Ponteiro para uma cadeia de caracteres terminada em nulo que especifica o caminho completo para o diretório atual do processo. Se este parâmetro for nulo, o novo processo terá a mesma unidade e diretório atual que o processo de chamada.

lpStartupInfo
[in] Ponteiro para uma estrutura do Win32 STARTUPINFOW que especifica a estação de janela, a área de trabalho, os identificadores padrão e a aparência da janela principal para o processo iniciado.

lpProcessInformation
[in] Ponteiro para uma estrutura do Win32 PROCESS_INFORMATION que especifica as informações de identificação sobre o processo a ser iniciado.

debuggingFlags
[in] Um valor da enumeração CorDebugCreateProcessFlags que especifica as opções de depuração.

ppProcess
[out] Um ponteiro para o endereço de um objeto ICorDebugProcess que representa o processo.

Comentários

Os parâmetros desse método são os mesmos do método Win32 CreateProcess.

Para habilitar a depuração de modo misto não gerenciado, defina dwCreationFlags como DEBUG_PROCESS | DEBUG_ONLY_THIS_PROCESS. Se você quiser usar apenas a depuração gerenciada, não defina esses sinalizadores.

Se o depurador e o processo a serem depurados (o processo anexado) compartilharem um único console e, se a depuração de interoperabilidade for usada, será possível que o processo anexado mantenha os bloqueios do console e pare em um evento de depuração. O depurador bloqueará qualquer tentativa de usar o console. Para evitar esse problema, defina o sinalizador CREATE_NEW_CONSOLE no dwCreationFlags parâmetro.

Não há suporte para depuração de interoperabilidade em plataformas Win9x e não x86, como plataformas baseadas em IA-64 e AMD64.

Requisitos

Plataformas: confira Requisitos do sistema.

Cabeçalho: CorDebug.idl, CorDebug.h

Biblioteca: CorGuids.lib

Versões do .NET Framework: Disponíveis desde a versão 1.0

Confira também