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 obterá um descritor de segurança padrão.

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

dwCreationFlags [in] Uma combinação bit a bit dos Sinalizadores de Criação de Processo 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 esse parâmetro for nulo, o novo processo terá a mesma unidade e diretório atuais que o processo de chamada.

lpStartupInfo [in] Ponteiro para uma estrutura 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 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.

Observações

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.

Requirements

Plataformas: Consulte sistemas operacionais com suporte do .NET.

Cabeçalho: CorDebug.idl, CorDebug.h

Biblioteca: CorGuids.lib

Versões do .NET: Disponível desde o .NET Framework 1.0

Consulte também