Méthode IDebugClient4 ::CreateProcessAndAttachWide (dbgeng.h)
La méthode CreateProcessAndAttachWide crée un processus à partir d’une ligne de commande spécifiée, puis l’attache à un autre processus en mode utilisateur. Le processus créé est suspendu et ne peut s’exécuter qu’une fois l’attachement terminé. Cela permet une synchronisation approximative lors du débogage des processus client et serveur.
Syntaxe
HRESULT CreateProcessAndAttachWide(
[in] ULONG64 Server,
[in, optional] PWSTR CommandLine,
[in] ULONG CreateFlags,
[in] ULONG ProcessId,
[in] ULONG AttachFlags
);
Paramètres
[in] Server
Spécifie le serveur de processus à utiliser pour l’attacher au processus. Si le serveur est égal à zéro, le moteur se connecte au processus local sans utiliser de serveur de processus.
[in, optional] CommandLine
Spécifie la ligne de commande à exécuter pour créer le nouveau processus. Si CommandLine a la valeur NULL, aucun processus n’est créé et ces méthodes sont attachées à un processus existant, comme le fait AttachProcess .
[in] CreateFlags
Spécifie les indicateurs à utiliser lors de la création du processus. Pour plus d’informations sur ces indicateurs, consultez DEBUG_CREATE_PROCESS_OPTIONS. CreateFlags.
[in] ProcessId
Spécifie l’ID de processus du processus cible auquel le débogueur doit attacher. Si ProcessId est égal à zéro, le débogueur s’attache au processus qu’il a créé à partir de CommandLine.
[in] AttachFlags
Spécifie les indicateurs qui contrôlent la façon dont le débogueur s’attache au processus cible. Pour plus d’informations sur ces indicateurs, consultez DEBUG_ATTACH_XXX.
Valeur retournée
Cette méthode peut également retourner des valeurs d’erreur. Pour plus d’informations, consultez Valeurs de retour .
Code de retour | Description |
---|---|
|
La méthode a réussi. |
Remarques
Cette méthode est disponible uniquement pour le débogage en mode utilisateur actif.
Si CommandLine n’a pas la valeur NULL et que ProcessId n’est pas zéro, le moteur crée le processus dans un état suspendu. Le moteur reprend ce processus nouvellement créé une fois qu’il s’est connecté au processus spécifié dans ProcessId.
Le moteur ne s’attache pas complètement au processus tant que la méthode WaitForEvent n’a pas été appelée. Ce n’est qu’une fois que le processus a généré un événement (par exemple, l’événement create-process) qu’il devient disponible dans la session du débogueur.
Pour plus d’informations sur la création et l’attachement à des cibles en mode utilisateur en direct, consultez Cibles de User-Mode en direct.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Desktop (Expérience utilisateur) |
En-tête | dbgeng.h (inclure Dbgeng.h) |