Metode IDebugControl2::OutputDisassemblyLines (dbgeng.h)

Metode OutputDisassemblyLines membongkar beberapa instruksi prosesor dan mengirimkan instruksi perakitan yang dihasilkan ke panggilan balik output.

Sintaks

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

Menentukan kontrol output yang menentukan panggilan balik output klien mana yang menerima output. Untuk nilai yang mungkin, lihat DEBUG_OUTCTL_XXX. Untuk informasi selengkapnya tentang output, lihat Input dan Output.

[in] PreviousLines

Menentukan jumlah baris instruksi sebelum instruksi di Offset untuk disertakan dalam output. Biasanya, setiap instruksi adalah output pada satu baris. Namun, beberapa instruksi dapat memakan beberapa baris output; ini dapat menyebabkan jumlah output baris sebelum instruksi di Offset lebih besar dari PreviousLines.

[in] TotalLines

Menentukan jumlah total baris instruksi untuk disertakan dalam output. Biasanya, setiap instruksi adalah output pada satu baris. Namun, beberapa instruksi dapat memakan beberapa baris output; ini dapat menyebabkan jumlah output baris lebih besar dari TotalLines.

[in] Offset

Menentukan lokasi dalam memori target dari instruksi yang akan dibongkar. Output pembbongkaran akan memulai baris PreviousLines sebelum instruksi prosesor ini.

[in] Flags

Menentukan bendera bit yang memengaruhi perilaku metode ini. Tabel berikut mencantumkan bit yang bisa diatur.

Bit-Flag Efek saat diatur
DEBUG_DISASM_EFFECTIVE_ADDRESS Komputasi alamat efektif dari setiap instruksi dari informasi register saat ini dan keluarkan.
DEBUG_DISASM_MATCHING_SYMBOLS Jika alamat instruksi memiliki kecocokan simbol yang tepat, keluarkan simbol .
DEBUG_DISASM_SOURCE_LINE_NUMBER Sertakan nomor baris sumber dari setiap instruksi dalam output.
DEBUG_DISASM_SOURCE_FILE_NAME Sertakan nama file sumber dalam output.

[out, optional] OffsetLine

Menerima nomor baris dalam output yang berisi instruksi di Offset. Jika OffsetLineNULL, informasi ini tidak dikembalikan.

[out, optional] StartOffset

Menerima lokasi dalam memori target dari instruksi pertama yang disertakan dalam output. Jika StartOffsetADALAH NULL, informasi ini tidak dikembalikan.

[out, optional] EndOffset

Menerima lokasi dalam memori target dari instruksi yang mengikuti instruksi terakhir yang dibongkar.

[out, optional] LineOffsets

Menerima lokasi dalam memori target dari instruksi yang disertakan dalam output yang dimulai dengan instruksi di Offset. LineOffsets adalah array yang berisi elemen TotalLines .

Offset adalah nilai entri pertama dalam array ini kecuali ada kesalahan membongkar instruksi sebelum instruksi ini. Dalam hal ini, entri pertama akan berisi DEBUG_ANY_ID dan Offset akan ditempatkan di entri kedua dalam array (indeks satu).

Jika output untuk instruksi mencakup beberapa baris, elemen dalam array yang sesuai dengan baris pertama instruksi akan berisi alamat instruksi.

Jika LineOffsetsADALAH NULL, informasi ini tidak dikembalikan.

Menampilkan nilai

Metode ini juga dapat mengembalikan nilai kesalahan. Lihat Mengembalikan Nilai untuk detail selengkapnya.

Menampilkan kode Deskripsi
S_OK
Metode berhasil.

Keterangan

Bahasa perakitan tergantung pada jenis prosesor yang efektif dari sistem target. Untuk informasi tentang bahasa perakitan, lihat dokumentasi prosesor.

Untuk gambaran umum penggunaan assembly di aplikasi debugger, lihat Debugging dalam Mode Rakitan. Untuk informasi selengkapnya tentang menggunakan perakitan dengan API mesin debugger, lihat Instruksi Perakitan dan Pembongkaran.

Persyaratan

Persyaratan Nilai
Target Platform Desktop
Header dbgeng.h (termasuk Dbgeng.h)

Lihat juga

Membongkar

IDebugControl

IDebugControl2

IDebugControl3

OutputDisassembly

u (Tidak Dirakit)