Método IDebugClient5::AttachProcess (dbgeng.h)
O método AttachProcess conecta o mecanismo de depurador a um processo de modo de usuário.
Sintaxe
HRESULT AttachProcess(
[in] ULONG64 Server,
[in] ULONG ProcessId,
[in] ULONG AttachFlags
);
Parâmetros
[in] Server
Especifica o servidor de processo a ser usado para anexar ao processo. Se Server for zero, o mecanismo se conectará a um processo local sem usar um servidor de processo.
[in] ProcessId
Especifica a ID do processo de destino ao qual o depurador será anexado.
[in] AttachFlags
Especifica os sinalizadores que controlam como o depurador é anexado ao processo de destino. Para obter detalhes sobre esses sinalizadores, consulte Comentários.
Retornar valor
Esse método também pode retornar valores de erro. Consulte Valores retornados para obter mais detalhes.
Código de retorno | Descrição |
---|---|
|
O método foi bem-sucedido. |
Comentários
Esse método está disponível apenas para depuração dinâmica do modo de usuário.
Os sinalizadores de bits DEBUG_ATTACH_XXX controlam como o mecanismo de depurador é anexado a um processo de modo de usuário. Para obter as opções DEBUG_ATTACH_XXX usadas ao anexar a um destino de kernel, consulte AttachKernel.
A tabela a seguir descreve os valores de sinalizador possíveis.
Constante | Descrição |
---|---|
DEBUG_ATTACH_NONINVASIVE |
Anexe ao destino de forma não invasiva. Para obter mais informações sobre a depuração não invasiva, consulte Depuração Não Invasiva (Modo de Usuário).
Se esse sinalizador estiver definido, os sinalizadores DEBUG_ATTACH_EXISTING, DEBUG_ATTACH_INVASIVE_NO_INITIAL_BREAK e DEBUG_ATTACH_INVASIVE_RESUME_PROCESS não deverão ser definidos. |
DEBUG_ATTACH_EXISTING |
Anexar novamente a um aplicativo ao qual um depurador já anexou (e possivelmente abandonou). Para obter mais informações sobre como anexar novamente aos destinos, consulte Anexação novamente ao Aplicativo de Destino.
Se esse sinalizador estiver definido, os outros sinalizadores DEBUG_ATTACH_XXX não deverão ser definidos. |
DEBUG_ATTACH_NONINVASIVE_NO_SUSPEND |
Não suspenda os threads do destino ao anexar não invasivamente.
Se esse sinalizador estiver definido, o sinalizador DEBUG_ATTACH_NONINVASIVE também deverá ser definido. |
DEBUG_ATTACH_INVASIVE_NO_INITIAL_BREAK |
(Windows XP e posterior) Não solicite uma interrupção inicial ao anexar ao destino.
Se esse sinalizador estiver definido, os sinalizadores DEBUG_ATTACH_NONINVASIVE e DEBUG_ATTACH_EXISTING não deverão ser definidos. |
DEBUG_ATTACH_INVASIVE_RESUME_PROCESS | Se esse sinalizador estiver definido, os sinalizadores DEBUG_ATTACH_NONINVASIVE e DEBUG_ATTACH_EXISTING não deverão ser definidos. |
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Área de Trabalho |
Cabeçalho | dbgeng.h (inclua Dbgeng.h) |