Método IDebugControl::OutputDisassemblyLines (dbgeng.h)

O método OutputDisassemblyLines desmonta várias instruções do processador e envia as instruções de assembly resultantes para os retornos de chamada de saída.

Sintaxe

HRESULT OutputDisassemblyLines(
  [in]            ULONG    OutputControl,
  [in]            ULONG    PreviousLines,
  [in]            ULONG    TotalLines,
  [in]            ULONG64  Offset,
  [in]            ULONG    Flags,
  [out, optional] PULONG   OffsetLine,
  [out, optional] PULONG64 StartOffset,
  [out, optional] PULONG64 EndOffset,
  [out, optional] PULONG64 LineOffsets
);

Parâmetros

[in] OutputControl

Especifica o controle de saída que determina quais retornos de chamada de saída do cliente recebem a saída. Para obter valores possíveis, consulte DEBUG_OUTCTL_XXX. Para obter mais informações sobre a saída, consulte Entrada e Saída.

[in] PreviousLines

Especifica o número de linhas de instruções antes da instrução em Deslocamento para incluir na saída. Normalmente, cada instrução é saída em uma única linha. No entanto, algumas instruções podem assumir várias linhas de saída; isso pode fazer com que o número de linhas de saída antes da instrução em Deslocamento seja maior que PreviousLines.

[in] TotalLines

Especifica o número total de linhas de instruções a serem incluídas na saída. Normalmente, cada instrução é saída em uma única linha. No entanto, algumas instruções podem assumir várias linhas de saída; isso pode fazer com que o número de saídas de linhas seja maior que TotalLines.

[in] Offset

Especifica o local na memória do destino das instruções para desmontar. A saída de desmontagem iniciará as linhas PreviousLines antes dessas instruções do processador.

[in] Flags

Especifica os sinalizadores de bits que afetam o comportamento desse método. A tabela a seguir lista os bits que podem ser definidos.

Bit-Flag Efeito quando definido
DEBUG_DISASM_EFFECTIVE_ADDRESS Compute o endereço efetivo de cada instrução das informações de registro atuais e gere-as.
DEBUG_DISASM_MATCHING_SYMBOLS Se o endereço de uma instrução tiver uma correspondência de símbolo exata, gere o símbolo.
DEBUG_DISASM_SOURCE_LINE_NUMBER Inclua o número da linha de origem de cada instrução na saída.
DEBUG_DISASM_SOURCE_FILE_NAME Inclua o nome do arquivo de origem na saída.

[out, optional] OffsetLine

Recebe o número de linha na saída que contém a instrução em Deslocamento. Se OffsetLine for NULL, essas informações não serão retornadas.

[out, optional] StartOffset

Recebe o local na memória do destino da primeira instrução incluída na saída. Se StartOffset for NULL, essas informações não serão retornadas.

[out, optional] EndOffset

Recebe o locaiton na memória do destino da instrução que segue a última instrução desmontada.

[out, optional] LineOffsets

Recebe os locais na memória do destino das instruções incluídas na saída, começando com a instrução em Deslocamento. LineOffsets é uma matriz que contém elementos TotalLines .

Offset é o valor da primeira entrada nessa matriz, a menos que tenha havido um erro ao desmontar as instruções antes desta instrução. Nesse caso, a primeira entrada conterá DEBUG_ANY_ID e Offset será colocado na segunda entrada na matriz (índice um).

Se a saída de uma instrução abranger várias linhas, o elemento na matriz que corresponde à primeira linha da instrução conterá o endereço da instrução.

Se LineOffsets for NULL, essas informações não serão retornadas.

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
S_OK
O método foi bem-sucedido.

Comentários

A linguagem de assembly depende do tipo de processador efetivo do sistema de destino. Para obter informações sobre o idioma do assembly, consulte a documentação do processador.

Para obter uma visão geral do uso do assembly em aplicativos de depurador, consulte Depuração no Modo de Assembly. Para obter mais informações sobre como usar o assembly com a API do mecanismo de depurador, consulte Instruções de montagem e desmontagem.

Requisitos

Requisito Valor
Plataforma de Destino Área de Trabalho
Cabeçalho dbgeng.h (inclua Dbgeng.h)

Confira também

Desmontar

Idebugcontrol

IDebugControl2

IDebugControl3

OutputDisassembly

u (Unassemble)