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

El método OutputDisassemblyLines desensambla varias instrucciones de procesador y envía las instrucciones del 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 las devoluciones de llamada de salida del cliente que reciben la salida. Para obtener los valores posibles, consulte DEBUG_OUTCTL_XXX. Para obtener más información sobre la salida, consulte Entrada y salida.

[in] PreviousLines

Especifica el número de líneas de instrucciones antes de la instrucción en Offset que se va 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 antes de la instrucción en Offset 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 de desensamblado iniciará las líneas PreviousLines 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 así poder 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 Offset. 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 desensamblado.

[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 Desplazamiento. 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 anteriores a 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, esta información no se devuelve.

Valor devuelto

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

Código devuelto Descripción
S_OK
Método realizado correctamente.

Comentarios

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 Value
Plataforma de destino Escritorio
Encabezado dbgeng.h (include Dbgeng.h)

Consulte también

Disassemble

IDebugControl

IDebugControl2

IDebugControl3

OutputDisassembly

u (Unassemble)