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 null, o processo obtém 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 null, o thread obtém um descritor de segurança padrão.
bInheritHandles
[em] Defina como true
para indicar que cada identificador herdado 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
[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 esse parâmetro for null, o novo processo terá a mesma unidade e diretório atuais que o processo de chamada.
lpStartupInfo
[em] Ponteiro para uma estrutura Win32 STARTUPINFOW
que especifica a estação da janela, área de trabalho, identificadores padrão e 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
[saídas] Um ponteiro para o endereço de um ICorDebugProcess objeto que representa o processo.
Observações
Os parâmetros deste método são os mesmos que os 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 depuração gerenciada, não defina esses sinalizadores.
Se o depurador e o processo a ser depurado (o processo anexado) compartilharem um único console, e se a depuração de interoperabilidade for usada, é possível que o processo anexado mantenha bloqueios de 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.
A depuração de interoperabilidade não é suportada em plataformas Win9x e não x86, como plataformas baseadas em IA-64 e AMD64.
Requisitos
Plataformas: Consulte Requisitos do sistema.
Cabeçalho: CorDebug.idl, CorDebug.h
Biblioteca: CorGuids.lib
Versões do .NET Framework: Disponível desde 1.0