Compartir a través de


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

El método OutputDisassemblyLines desensamblado varias instrucciones de procesador y envía las instrucciones de ensamblado resultantes a las devoluciones de llamada de salida .

Sintaxis

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 el control de salida que determina qué devoluciones de llamada de salida del cliente reciben la salida. Para conocer los valores posibles, consulte DEBUG_OUTCTL_XXX. Para obtener más información sobre la salida, vea entrada y salida.

[in] PreviousLines

Especifica el número de líneas de instrucciones antes de la instrucción en desplazamiento incluir en la salida. Normalmente, cada instrucción se genera en una sola línea. Sin embargo, algunas instrucciones pueden ocupar varias líneas de salida; esto puede hacer que el número de líneas de salida antes de la instrucción en desplazamiento sea mayor que PreviousLines.

[in] TotalLines

Especifica el número total de líneas de instrucciones que se van a incluir en la salida. Normalmente, cada instrucción se genera en una sola línea. Sin embargo, algunas instrucciones pueden ocupar varias líneas de salida; esto puede hacer que el número de líneas de salida sea mayor que TotalLines.

[in] Offset

Especifica la ubicación en la memoria del destino de las instrucciones para desensamblar. La salida del desensamblaje se iniciará Líneas anteriores líneas antes de estas instrucciones del procesador.

[in] Flags

Especifica las marcas de bits que afectan al comportamiento de este método. En la tabla siguiente se enumeran los bits que se pueden establecer.

Bit-Flag Efecto cuando se establece
DEBUG_DISASM_EFFECTIVE_ADDRESS Calcule la dirección efectiva de cada instrucción a partir de la información de registro actual y generarla.
DEBUG_DISASM_MATCHING_SYMBOLS Si la dirección de una instrucción tiene una coincidencia exacta de símbolos, genera el símbolo.
DEBUG_DISASM_SOURCE_LINE_NUMBER Incluya el número de línea de origen de cada instrucción en la salida.
DEBUG_DISASM_SOURCE_FILE_NAME Incluya el nombre del archivo de origen en la salida.

[out, optional] OffsetLine

Recibe el número de línea de la salida que contiene la instrucción en Desplazamiento. Si OffsetLine es NULL, esta información no se devuelve.

[out, optional] StartOffset

Recibe la ubicación en la memoria del destino de la primera instrucción incluida en la salida. Si StartOffset es null, esta información no se devuelve.

[out, optional] EndOffset

Recibe la ubicación en la memoria del destino de la instrucción que sigue a la última instrucción desensamblada.

[out, optional] LineOffsets

Recibe las ubicaciones de la memoria del destino de las instrucciones incluidas en la salida a partir de la instrucción en Offset. LineOffsets es una matriz que contiene elementos TotalLines.

offset es el valor de la primera entrada de esta matriz a menos que se produzca un error al desensamblar las instrucciones antes de esta instrucción. En este caso, la primera entrada contendrá DEBUG_ANY_ID y offset se colocará en la segunda entrada de la matriz (índice uno).

Si la salida de una instrucción abarca varias líneas, el elemento de la matriz que corresponde a la primera línea de la instrucción contendrá la dirección de la instrucción.

Si LineOffsets es NULL, no se devuelve esta información.

Valor devuelto

Este método también puede devolver valores de error. Consulte valores devueltos para obtener más información.

Código devuelto Descripción
S_OK
El método se realizó correctamente.

Observaciones

El lenguaje de ensamblado depende del tipo de procesador efectivo del sistema de destino. Para obtener información sobre el lenguaje de ensamblado, consulte la documentación del procesador.

Para obtener información general sobre el uso del ensamblado en aplicaciones del depurador, consulte Depuración en modo de ensamblado. Para obtener más información sobre el uso del ensamblado con la API del motor de depurador, consulte Instrucciones de montaje y desensamblado.

Requisitos

Requisito Valor
de la plataforma de destino de Escritorio
encabezado de dbgeng.h (include Dbgeng.h)

Consulte también

de desensamblar

IDebugControl

IDebugControl2

IDebugControl3

outputDisassembly

u (unssemble)