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 [em] 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 [em] 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 [em] 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 [em] 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 [em] Defina como true para 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 os identificadores originais.

dwCreationFlags[em] 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 [em] Ponteiro para um bloco de ambiente para o novo processo.

lpCurrentDirectory [em] 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 [em] 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 [em] Ponteiro para uma estrutura Win32 PROCESS_INFORMATION que especifica as informações de identificação sobre o processo a ser iniciado.

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

ppProcess [fora] 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