ICorDebug::CreateProcess, méthode
Lance un processus et son thread principal sous le contrôle du débogueur.
Syntaxe
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
);
Paramètres
lpApplicationName
[in] Pointeur vers une chaîne terminée par null qui spécifie le module à exécuter par le processus lancé. Le module est exécuté dans le contexte de sécurité du processus appelant.
lpCommandLine
[in] Pointeur vers une chaîne terminée par null qui spécifie la ligne de commande à exécuter par le processus lancé. Nom de l’application (par exemple, « SomeApp.exe ») doit être le premier argument.
lpProcessAttributes
[in] Pointeur vers une structure SECURITY_ATTRIBUTES
Win32 qui spécifie le descripteur de sécurité pour le processus. Si lpProcessAttributes
a la valeur Null, le processus obtient un descripteur de sécurité par défaut.
lpThreadAttributes
[in] Pointeur vers une structure SECURITY_ATTRIBUTES
Win32 qui spécifie le descripteur de sécurité pour le thread principal du processus. Si lpThreadAttributes
est null, le thread obtient un descripteur de sécurité par défaut.
bInheritHandles
[in] Défini sur true
pour indiquer que chaque descripteur pouvant hériter du processus appelant est hérité par le processus lancé, ou false
pour indiquer que les descripteurs ne sont pas hérités. Les descripteurs hérités ont la même valeur et les mêmes droits d’accès que les descripteurs d’origine.
dwCreationFlags
[in] Combinaison au niveau du bit des Indicateurs de création de processus Win32 qui contrôlent la classe de priorité et le comportement du processus lancé.
lpEnvironment
[in] Pointeur vers un bloc d’environnement pour le nouveau processus.
lpCurrentDirectory
[in] Pointeur vers une chaîne terminée par null qui spécifie le chemin complet au répertoire actif pour le processus. Si ce paramètre est null, le nouveau processus a le même lecteur et le même répertoire actifs que le processus appelant.
lpStartupInfo
[in] Pointeur vers une structure STARTUPINFOW
Win32 qui spécifie la station de fenêtre, le bureau, les descripteurs standard et l’apparence de la fenêtre principale pour le processus lancé.
lpProcessInformation
[in] Pointeur vers une structure PROCESS_INFORMATION
Win32 qui spécifie les informations d’identification sur le processus à lancer.
debuggingFlags
[in] Valeur de l’énumération CorDebugCreateProcessFlags qui spécifie les options de débogage.
ppProcess
[out] Pointeur vers l’adresse d’un objet ICorDebugProcess qui représente le processus.
Notes
Les paramètres de cette méthode sont identiques à ceux de la méthode CreateProcess
Win32.
Pour activer le débogage en mode mixte non managé, définissez dwCreationFlags
sur DEBUG_PROCESS | DEBUG_ONLY_THIS_PROCESS. Si vous souhaitez utiliser uniquement le débogage managé, ne définissez pas ces indicateurs.
Si le débogueur et le processus à déboguer (le processus attaché) partagent une seule console et si le débogage d’interopérabilité est utilisé, il est possible que le processus attaché conserve les verrous de console et s’arrête à un événement de débogage. Le débogueur bloque ensuite toute tentative d’utilisation de la console. Pour éviter ce problème, définissez l’indicateur CREATE_NEW_CONSOLE dans le paramètre dwCreationFlags
.
Le débogage d’interopérabilité n’est pas pris en charge sur les plateformes Win9x et non x86 telles que les plateformes basées sur IA-64 et AMD64.
Spécifications
Plateformes : Consultez Configuration requise.
En-tête : CorDebug.idl, CorDebug.h
Bibliothèque : CorGuids.lib
Versions de .NET Framework : Disponible à partir de la version 1.0