Partager via


IDebugControl2 ::OutputDisassemblyLines, méthode (dbgeng.h)

La méthode OutputDisassemblyLines désassemble plusieurs instructions de processeur et envoie les instructions d’assembly obtenues aux rappels de sortie .

Syntaxe

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

Paramètres

[in] OutputControl

Spécifie le contrôle de sortie qui détermine les rappels de sortie du client qui reçoivent la sortie. Pour connaître les valeurs possibles, consultez DEBUG_OUTCTL_XXX. Pour plus d’informations sur la sortie, consultez d’entrée et de sortie.

[in] PreviousLines

Spécifie le nombre de lignes d’instructions avant l’instruction à Offset à inclure dans la sortie. En règle générale, chaque instruction est sortie sur une seule ligne. Toutefois, certaines instructions peuvent prendre plusieurs lignes de sortie ; cela peut entraîner le nombre de lignes de sortie avant que l’instruction à Offset soit supérieure à PreviousLines.

[in] TotalLines

Spécifie le nombre total de lignes d’instructions à inclure dans la sortie. En règle générale, chaque instruction est sortie sur une seule ligne. Toutefois, certaines instructions peuvent prendre plusieurs lignes de sortie ; cela peut entraîner la sortie du nombre de lignes supérieure à TotalLines.

[in] Offset

Spécifie l’emplacement dans la mémoire de la cible des instructions à désassembler. La sortie de désassemblement démarre PreviousLines lignes avant ces instructions de processeur.

[in] Flags

Spécifie les indicateurs de bits qui affectent le comportement de cette méthode. Le tableau suivant répertorie les bits qui peuvent être définis.

Bit-Flag Effet lors de la définition
DEBUG_DISASM_EFFECTIVE_ADDRESS Calculez l’adresse effective de chaque instruction à partir des informations de registre actuelles et affichez-la.
DEBUG_DISASM_MATCHING_SYMBOLS Si l’adresse d’une instruction a une correspondance de symbole exacte, affichez le symbole.
DEBUG_DISASM_SOURCE_LINE_NUMBER Incluez le numéro de ligne source de chaque instruction dans la sortie.
DEBUG_DISASM_SOURCE_FILE_NAME Incluez le nom du fichier source dans la sortie.

[out, optional] OffsetLine

Reçoit le numéro de ligne dans la sortie qui contient l’instruction à offset. Si offsetLine est NULL, ces informations ne sont pas retournées.

[out, optional] StartOffset

Reçoit l’emplacement dans la mémoire de la cible de la première instruction incluse dans la sortie. Si StartOffset est NULL, ces informations ne sont pas retournées.

[out, optional] EndOffset

Reçoit l’emplacement dans la mémoire de la cible de l’instruction qui suit la dernière instruction désassemblé.

[out, optional] LineOffsets

Reçoit les emplacements dans la mémoire de la cible des instructions incluses dans la sortie à partir de l’instruction à Offset. LineOffsets est un tableau qui contient éléments TotalLines.

offset est la valeur de la première entrée dans ce tableau, sauf si une erreur s’est produite lors du désassemblage des instructions avant cette instruction. Dans ce cas, la première entrée contiendra DEBUG_ANY_ID et décalage sera placée dans la deuxième entrée du tableau (index 1).

Si la sortie d’une instruction s’étend sur plusieurs lignes, l’élément du tableau qui correspond à la première ligne de l’instruction contiendra l’adresse de l’instruction.

Si LineOffsets est NULL, ces informations ne sont pas retournées.

Valeur de retour

Cette méthode peut également retourner des valeurs d’erreur. Pour plus d’informations, consultez valeurs de retour.

Retourner le code Description
S_OK
La méthode a réussi.

Remarques

Le langage d’assembly dépend du type de processeur effectif du système cible. Pour plus d’informations sur le langage d’assembly, consultez la documentation du processeur.

Pour obtenir une vue d’ensemble de l’utilisation de l’assembly dans les applications de débogueur, consultez Débogage en mode Assembly. Pour plus d’informations sur l’utilisation de l’assembly avec l’API du moteur de débogueur, consultez Instructions d’assemblage et de désassemblage.

Exigences

Exigence Valeur
plateforme cible Bureau
d’en-tête dbgeng.h (include Dbgeng.h)

Voir aussi

désassembler

IDebugControl

IDebugControl2

IDebugControl3

OutputDisassembly

u (Unassemble)