Compartir a través de


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

El método OutputDisassemblyLines desensambla varias instrucciones del 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, consulte Entrada y salida.

[in] PreviousLines

Especifica el número de líneas de instrucciones antes de que la instrucción en Offset se incluya 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 desensamblaje 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 Calcular 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 Offset. Si OffsetLine es NULL, no se devuelve esta información.

[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 el locaiton en la memoria del destino de la instrucción que sigue a la última instrucción desensamblada.

[out, optional] LineOffsets

Recibe las ubicaciones en 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, 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 las aplicaciones del depurador, consulte Depuración en modo de ensamblado. Para obtener más información sobre cómo usar el ensamblado con la API del motor de depurador, vea Instrucciones de montaje y desensamblado.

Requisitos

Requisito Value
Plataforma de destino Escritorio
Encabezado dbgeng.h (incluir Dbgeng.h)

Consulte también

Disassemble

IDebugControl

IDebugControl2

IDebugControl3

OutputDisassembly

u (Unassemble)