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