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 |
---|---|
|
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) |