Compartir a través de


ICorDebug::CreateProcess (Método)

Inicia un proceso y su subproceso principal bajo el control del depurador.

Syntax

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] Puntero a una cadena terminada en NULL que especifica el módulo que va a ejecutar el proceso iniciado. El módulo se ejecuta en el contexto de seguridad del proceso de llamada.

lpCommandLine [in] Puntero a una cadena terminada en null que especifica la línea de comandos que va a ejecutar el proceso iniciado. El nombre de la aplicación (por ejemplo, "SomeApp.exe") debe ser el primer argumento.

lpProcessAttributes [in] Puntero a una estructura Win32 SECURITY_ATTRIBUTES que especifica el descriptor de seguridad para el proceso. Si lpProcessAttributes es null, el proceso obtiene un descriptor de seguridad predeterminado.

lpThreadAttributes [in] Puntero a una estructura Win32 SECURITY_ATTRIBUTES que especifica el descriptor de seguridad para el subproceso principal del proceso. Si lpThreadAttributes es null, el subproceso obtiene un descriptor de seguridad predeterminado.

bInheritHandles [in] true Establézcalo en para indicar que el proceso iniciado hereda cada identificador heredado del proceso de llamada, o false para indicar que los identificadores no se heredan. Los identificadores heredados tienen el mismo valor y derechos de acceso que los identificadores originales.

dwCreationFlags [in] Combinación bit a bit de las marcas de creación de procesos win32 que controlan la clase de prioridad y el comportamiento del proceso iniciado.

lpEnvironment [in] Puntero a un bloque de entorno para el nuevo proceso.

lpCurrentDirectory [in] Puntero a una cadena terminada en null que especifica la ruta de acceso completa al directorio actual para el proceso. Si este parámetro es null, el nuevo proceso tendrá la misma unidad y directorio actuales que el proceso de llamada.

lpStartupInfo [in] Puntero a una estructura Win32 STARTUPINFOW que especifica la estación de ventana, el escritorio, los identificadores estándar y la apariencia de la ventana principal para el proceso iniciado.

lpProcessInformation [in] Puntero a una estructura Win32 PROCESS_INFORMATION que especifica la información de identificación sobre el proceso que se va a iniciar.

debuggingFlags [in] Valor de la enumeración CorDebugCreateProcessFlags que especifica las opciones de depuración.

ppProcess [out] Puntero a la dirección de un objeto ICorDebugProcess que representa el proceso.

Observaciones

Los parámetros de este método son los mismos que los del método Win32 CreateProcess .

Para habilitar la depuración en modo mixto no administrado, establezca en dwCreationFlags DEBUG_PROCESS | DEBUG_ONLY_THIS_PROCESS. Si desea usar solo la depuración administrada, no establezca estas marcas.

Si el depurador y el proceso que se va a depurar (el proceso asociado) comparten una sola consola y, si se usa la depuración de interoperabilidad, es posible que el proceso asociado contenga bloqueos de consola y se detenga en un evento de depuración. A continuación, el depurador bloqueará cualquier intento de usar la consola. Para evitar este problema, establezca la marca CREATE_NEW_CONSOLE en el dwCreationFlags parámetro .

La depuración de interoperabilidad no se admite en plataformas Win9x y no x86, como plataformas basadas en IA-64 y basadas en AMD64.

Requisitos

Plataformas: Consulte Sistemas operativos compatibles con .NET.

Encabezado: CorDebug.idl, CorDebug.h

Biblioteca: CorGuids.lib

Versiones de .NET: Disponible desde .NET Framework 1.0

Consulte también