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