Freigeben über


IDebugControl2::OutputDisassemblyLines-Methode (dbgeng.h)

Die OutputDisassemblyLines Methode zerlegt mehrere Prozessoranweisungen und sendet die resultierenden Assemblyanweisungen an die Ausgaberückrufe.

Syntax

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

Parameter

[in] OutputControl

Gibt das Ausgabesteuerelement an, das bestimmt, welche Ausgaberückrufe des Clients die Ausgabe erhalten. Mögliche Werte finden Sie unter DEBUG_OUTCTL_XXX. Weitere Informationen zur Ausgabe finden Sie unter Eingabe- und Ausgabe-.

[in] PreviousLines

Gibt die Anzahl der Anweisungen vor der Anweisung bei Offset- an, die in die Ausgabe eingeschlossen werden soll. In der Regel wird jede Anweisung in einer einzelnen Zeile ausgegeben. Einige Anweisungen können jedoch mehrere Ausgabelinien in Anspruch nehmen; Dies kann dazu führen, dass die Anzahl der Zeilen vor der Anweisung bei Offset- größer als PreviousLines-ist.

[in] TotalLines

Gibt die Gesamtanzahl der Anweisungen an, die in die Ausgabe eingeschlossen werden sollen. In der Regel wird jede Anweisung in einer einzelnen Zeile ausgegeben. Einige Anweisungen können jedoch mehrere Ausgabelinien in Anspruch nehmen; Dies kann dazu führen, dass die Anzahl der Zeilenausgabe größer als TotalLines-ist.

[in] Offset

Gibt die Position im Speicher des Ziels der Anweisungen zum Zerlegen an. Die Demontageausgabe beginnt PreviousLines Zeilen vor diesen Prozessoranweisungen.

[in] Flags

Gibt die Bit-Flags an, die sich auf das Verhalten dieser Methode auswirken. In der folgenden Tabelle sind die Bits aufgeführt, die festgelegt werden können.

Bit-Flag Effekt beim Festlegen
DEBUG_DISASM_EFFECTIVE_ADDRESS Berechnen Sie die effektive Adresse jeder Anweisung aus den aktuellen Registerinformationen und geben Sie sie aus.
DEBUG_DISASM_MATCHING_SYMBOLS Wenn die Adresse einer Anweisung eine genaue Symbol-Übereinstimmung aufweist, geben Sie das Symbol aus.
DEBUG_DISASM_SOURCE_LINE_NUMBER Fügen Sie die Quellzeilennummer jeder Anweisung in die Ausgabe ein.
DEBUG_DISASM_SOURCE_FILE_NAME Fügen Sie den Namen der Quelldatei in die Ausgabe ein.

[out, optional] OffsetLine

Empfängt die Zeilennummer in der Ausgabe, die die Anweisung bei Offset-enthält. Wenn OffsetLine-NULL-ist, werden diese Informationen nicht zurückgegeben.

[out, optional] StartOffset

Empfängt den Speicherort im Speicher des Ziels der ersten Anweisung, die in der Ausgabe enthalten ist. Wenn StartOffset-NULL-ist, werden diese Informationen nicht zurückgegeben.

[out, optional] EndOffset

Empfängt die Position im Speicher des Ziels der Anweisung, die der letzten zerlegten Anweisung folgt.

[out, optional] LineOffsets

Empfängt die Speicherorte im Speicher des Ziels der Anweisungen, die in der Ausgabe enthalten sind, beginnend mit der Anweisung bei Offset. LineOffsets- ist ein Array, das TotalLines--Elemente enthält.

Offset- ist der Wert des ersten Eintrags in diesem Array, es sei denn, es ist ein Fehler beim Zerlegen der Anweisungen vor dieser Anweisung aufgetreten. In diesem Fall enthält der erste Eintrag DEBUG_ANY_ID und Offset- wird im zweiten Eintrag im Array (Index 1) platziert.

Wenn die Ausgabe für eine Anweisung mehrere Zeilen umfasst, enthält das Element im Array, das der ersten Zeile der Anweisung entspricht, die Adresse der Anweisung.

Wenn LineOffsets-NULL-ist, werden diese Informationen nicht zurückgegeben.

Rückgabewert

Diese Methode kann auch Fehlerwerte zurückgeben. Weitere Informationen finden Sie unter Rückgabewerte.

Rückgabecode Beschreibung
S_OK
Die Methode war erfolgreich.

Bemerkungen

Die Assemblysprache hängt vom effektiven Prozessortyp des Zielsystems ab. Informationen zur Assemblysprache finden Sie in der Prozessordokumentation.

Eine Übersicht über die Verwendung der Assembly in Debuggeranwendungen finden Sie unter Debuggen im Assemblymodus. Weitere Informationen zur Verwendung der Assembly mit der Debuggermodul-API finden Sie unter Assembling and Disassembling Instructions.

Anforderungen

Anforderung Wert
Zielplattform- Desktop
Header- dbgeng.h (include Dbgeng.h)

Siehe auch

zerlegen

IDebugControl-

IDebugControl2-

IDebugControl3-

OutputDisassembly

u (Unassemble)