Método IDebugControl3::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 el locaiton 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 |
---|---|
|
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) |