Bagikan melalui


Antarmuka Core

Antarmuka berikut adalah antarmuka inti untuk memperluas debugger dengan menggunakan Visual Studio SDK.

Diskusi

Antarmuka ini terutama digunakan untuk membuat mesin debug (DE). Mereka diatur di sini berdasarkan kategori:

Titik henti

Antarmuka ini terkait dengan implementasi dan pelacakan titik henti.

Antarmuka Diimplementasikan oleh Deskripsi
IDebugBoundBreakpoint2 DE Mewakili titik henti yang terikat ke lokasi memori.
IDebugBreakpointBoundEvent2 DE Dikirim oleh DE saat titik henti terikat ke lokasi memori.
IDebugBreakpointChecksumRequest2 VS Mewakili checksum dokumen untuk permintaan titik henti.
IDebugBreakpointErrorEvent2 DE Dikirim oleh DE ketika titik henti gagal terikat ke lokasi memori.
IDebugBreakpointEvent2 DE Dikirim oleh DE saat titik henti tercapai.
IDebugBreakpointRequest2 VS Mewakili permintaan titik henti; digunakan dalam membuat titik henti yang tertunda.
IDebugBreakpointRequest3 VS Mewakili permintaan titik henti; digunakan dalam membuat titik henti yang tertunda.
IDebugBreakpointResolution2 DE Mewakili informasi yang digunakan untuk mengikat titik henti.
IDebugBreakpointUnboundEvent2 DE Dikirim oleh DE saat titik henti tidak terikat dari lokasi memori.
IDebugErrorBreakpoint2 DE Mewakili titik henti yang tidak valid (dikembalikan oleh IDebugBreakpointErrorEvent2).
IDebugErrorBreakpointResolution2 DE Mewakili informasi resolusi tentang titik henti yang tidak valid.
IDebugFunctionPosition2 DE Mewakili posisi dalam fungsi tempat titik henti diatur.
IDebugPendingBreakpoint2 DE Mewakili titik henti yang akan terikat; digunakan dalam membuat titik henti terikat.
IEnumDebugBoundBreakpoints2 DE Mewakili enumerasi atas sekumpulan titik henti terikat.
IEnumDebugErrorBreakpoints2 DE Mewakili enumerasi atas sekumpulan titik henti yang tidak dapat terikat ke lokasi memori.

Konteks

Antarmuka ini mewakili berbagai jenis konteks dalam program yang sedang di-debug.

Antarmuka Diimplementasikan oleh Deskripsi
IDebugCodeContext2 DE Mewakili posisi awal instruksi kode.
IDebugCodeContext3 DE Memperluas antarmuka IDebugCodeContext2 untuk mengaktifkan pengambilan modul dan antarmuka proses.
IDebugDocumentContext2 VS, DE Mewakili posisi dalam dokumen.
IDebugExpressionContext2 DE Mewakili konteks untuk mengevaluasi ekspresi.
IDebugMemoryContext2 DE Mewakili lokasi awal dalam memori kumpulan byte.
IDebugStackFrame2 DE Mewakili konteks bingkai tumpukan pada titik henti atau pengecualian.
IDebugStackFrame3 DE Mewakili konteks bingkai tumpukan pada titik henti atau pengecualian.
IEnumDebugCodeContexts2 DE Mewakili enumerasi atas sekumpulan konteks kode.

Server Inti

Antarmuka ini mewakili komputer tempat program sedang di-debug. Ini diimplementasikan oleh Visual Studio tetapi dapat dipanggil oleh mesin debug.

Antarmuka Diimplementasikan oleh Deskripsi
IDebugCoreServer2 VS Menyediakan akses ke port dan pemasok port serta informasi tentang komputer.
IDebugCoreServer3 VS Mewakili IDebugCoreServer2 yang mendukung penelusuran kesalahan jarak jauh.

Mesin Debug

Antarmuka ini mewakili mesin debug dan peristiwa terkaitnya.

Antarmuka Diimplementasikan oleh Deskripsi
IDebugEngine2 DE Mewakili mesin debug kustom.
IDebugEngine3 DE Mewakili mesin debug kustom yang mendukung pemuatan simbol, JustMyCode, dan pengecualian.
IDebugEngineCreateEvent2 DE Dikirim oleh setiap instans de baru untuk menunjukkan siap menangani tugas penelusuran kesalahan.
IDebugEngineLaunch2 DE Mewakili mesin debug kustom yang mendukung peluncuran program.
IDebugProgramEngines2 DE, PS Mewakili simpul program yang menangani beberapa mesin debug.
IDebugQueryEngine2 DE Menyediakan cara bagi SDM untuk mendapatkan antarmuka ke mesin debug dari rangkaian, program, atau tumpukan.

Dokumen

Antarmuka ini mewakili dokumen (file sumber) dan elemen terkaitnya.

Antarmuka Diimplementasikan oleh Deskripsi
IDebugActivateDocumentEvent2 DE Dikirim oleh DE untuk meminta dokumen dibuka.
IDebugDisassemblyStream2 DE Mewakili aliran instruksi yang dibongkar dari dokumen.
IDebugDocument2 VS, DE Mewakili dokumen yang disediakan oleh DE, menentukan nama dan ID kelas (CLSID).
IDebugDocumentChecksum2 DE, EE Mewakili checksum untuk dokumen debug dan memungkinkan melewati checksum antar komponen.
IDebugDocumentContext2 VS, DE Mewakili konteks dokumen, posisi dalam dokumen yang sesuai dengan pernyataan dan konteks kode tertentu.
IDebugDocumentPosition2 VS, DE Mewakili posisi umum dalam dokumen.
IDebugDocumentPositionOffset2 VS Mewakili posisi dalam file sumber sebagai offset karakter.
IDebugDocumentText2 VS, DE Mewakili dokumen teks yang disediakan oleh DE (berasal dari IDebugDocument2), menyediakan teks aktual.
IDebugDocumentTextEvents2 DE Dikirim oleh DE untuk menentukan perubahan pada file sumber yang ada dalam memori.

Aktivitas

Antarmuka ini mewakili semua peristiwa yang dikirim antara DE dan manajer debug sesi (SDM).

Antarmuka Diimplementasikan oleh Deskripsi
IDebugActivateDocumentEvent2 DE Dikirim oleh DE untuk meminta dokumen dibuka.
IDebugBeforeSymbolSearchEvent2 DE Mesin debug (DE) mengirimkan antarmuka ini ke manajer debug sesi (SDM) untuk mengatur pesan bilah status selama pemuatan simbol.
IDebugBreakEvent2 DE Dikirim oleh DE ketika jeda dalam program telah selesai.
IDebugBreakpointBoundEvent2 DE Dikirim oleh DE saat titik henti terikat.
IDebugBreakpointErrorEvent2 DE Dikirim oleh DE ketika titik henti gagal diikat.
IDebugBreakpointEvent2 DE Dikirim oleh DE saat titik henti tercapai.
IDebugBreakpointUnboundEvent2 DE Dikirim oleh DE saat titik henti tidak terikat.
IDebugCanStopEvent2 DE Dikirim oleh DE untuk menentukan apakah harus berhenti di lokasi tertentu.
IDebugDocumentTextEvents2 DE Dikirim oleh DE untuk menentukan perubahan pada file sumber yang ada dalam memori.
IDebugEngineCreateEvent2 DE Dikirim oleh setiap instans de baru untuk menunjukkan siap menangani tugas penelusuran kesalahan.
IDebugEntryPointEvent2 DE Dikirim oleh DE untuk menunjukkan program yang sedang di-debug siap untuk menjalankan instruksi pertama.
IDebugErrorEvent2 DE Antarmuka yang digunakan oleh antarmuka peristiwa lain, yang mungkin mengembalikan kesalahan, untuk menyediakan pesan kesalahan yang dapat dibaca manusia.
IDebugEvent2 DE, PS Antarmuka dasar dari mana semua antarmuka peristiwa lainnya diturunkan.
IDebugEventCallback2 VS Mewakili antarmuka yang diimplementasikan oleh SDM tempat peristiwa (dinyatakan sebagai objek yang mengimplementasikan antarmuka peristiwa tertentu) dikirim.
IDebugExceptionEvent2 DE Dikirim oleh DE ketika pengecualian telah terjadi dalam program yang sedang di-debug.
IDebugExpressionEvaluationCompleteEvent2 DE Dikirim oleh DE ketika evaluasi ekspresi asinkron selesai.
IDebugFindSymbolEvent2 USANG. JANGAN GUNAKAN.
IDebugInterceptExceptionCompleteEvent2 DE Dikirim oleh DE saat memproses pengecualian yang disadap telah selesai.
IDebugLoadCompleteEvent2 DE Dikirim oleh DE ketika program telah selesai memuat.
IDebugMessageEvent2 DE Dikirim oleh DE agar IDE menampilkan pesan informasi kepada pengguna.
IDebugModuleLoadEvent2 DE Dikirim oleh DE saat modul dimuat atau dibongkar.
IDebugNoSymbolsEvent2 DE Menandakan UI debugger Visual Studio untuk memperingatkan pengguna bahwa simbol tidak dapat ditemukan untuk executable yang diluncurkan.
IDebugOutputStringEvent2 DE Dikirim oleh DE agar IDE menampilkan string arbitrer.
IDebugPortEvents2 VS, DE Dikirim oleh port untuk mengomunikasikan peristiwa port ke pendengar mana pun.
IDebugProcessCreateEvent2 DE, PS Dikirim oleh DE atau port ketika proses telah dibuat.
IDebugProcessDestroyEvent2 DE, PS Dikirim oleh DE atau port ketika proses telah dihancurkan.
IDebugProgramCreateEvent2 DE, PS Dikirim oleh DE atau port ketika program telah dibuat.
IDebugProgramDestroyEvent2 DE, PS Dikirim oleh DE atau port ketika program telah dihancurkan.
IDebugProgramDestroyEventFlags2 DE Memungkinkan mesin debug untuk mengambil alih perilaku default UI Visual Studio saat Anda mengakhiri sesi debug.
IDebugProgramNameChangedEvent2 DE Dikirim dari mesin debug (DE) ke manajer debug sesi (SDM) saat nama program berubah.
IDebugPropertyCreateEvent2 DE Dikirim oleh DE ketika properti baru (diwakili oleh IDebugProperty2 antarmuka) telah dibuat.
IDebugPropertyDestroyEvent2 DE Dikirim oleh DE ketika properti telah dihancurkan.
IDebugReturnValueEvent2 DE Dikirim oleh DE saat melangkah keluar dari atau melalui fungsi sehingga nilai yang dikembalikan dapat ditampilkan dengan benar.
IDebug Pengaturan Callback2 VS Memungkinkan mesin debug membaca pengaturan metrik dari jarak jauh.
IDebugStepCompleteEvent2 DE Dikirim oleh DE ketika langkah ke, atas, atau di luar instruksi telah selesai.
IDebugSymbolSearchEvent2 DE Dikirim oleh DE untuk menunjukkan keberhasilan atau kegagalan pemuatan simbol untuk modul.
IDebugThreadCreateEvent2 DE Dikirim oleh DE ketika utas telah dibuat.
IDebugThreadDestroyEvent2 DE Dikirim oleh DE ketika utas telah dihancurkan.
IDebugThreadNameChangedEvent2 DE Dikirim oleh DE ketika utas telah mengubah namanya.

Expressions

Antarmuka ini mewakili ekspresi yang akan dievaluasi dalam konteks tertentu.

Antarmuka Diimplementasikan oleh Deskripsi
IDebugExpression2 DE Mewakili ekspresi yang akan dievaluasi. Diperoleh dari antarmuka IDebugExpressionContext2 .
IDebugExpressionContext2 DE Mewakili konteks di mana ekspresi dievaluasi. Diperoleh dari antarmuka IDebugStackFrame2 .
IDebugExpressionEvaluationCompleteEvent2 DE Dikirim oleh DE ketika evaluasi ekspresi asinkron selesai.

Memori

Antarmuka ini mewakili urutan byte dalam memori.

Antarmuka Diimplementasikan oleh Deskripsi
IDebugMemoryBytes2 DE Mewakili urutan byte dalam memori yang dapat dibaca dari atau ditulis.
IDebugMemoryContext2 DE Mewakili lokasi dalam memori urutan byte.

Modul

Antarmuka ini mewakili modul, yang sesuai dengan file executable atau .DLL.

Antarmuka Diimplementasikan oleh Deskripsi
IDebugModule2 DE Mewakili satu executable atau DLL.
IDebugModule3 DE Mewakili IDebugModule2 yang mendukung simbol.
IDebugModuleLoadEvent2 DE Dikirim oleh DE saat modul dimuat atau dibongkar.
IDebugSourceServerModule DE Mewakili informasi server sumber yang terkandung dalam file PDB.
IEnumDebugModules2 DE Mewakili enumerasi atas sekumpulan modul yang dikenal oleh IDebugProgram2.

Port

Antarmuka ini mewakili port dan pemasok port.

Antarmuka Diimplementasikan oleh Deskripsi
IDebugDefaultPort2 VS, PS Mewakili port default pada komputer lokal.
IDebugFirewallConfigurationCallback2 VS Mengaktifkan mesin debug yang menggunakan DCOM untuk meminta Visual Studio UI untuk memastikan bahwa firewall tidak akan memblokir penelusuran kesalahan jarak jauh.
IDebugPort2 VS, PS Mewakili port.
IDebugPortEvents2 PS Dikirim oleh port untuk mengomunikasikan peristiwa port ke pendengar mana pun.
IDebugPortEx2 PS Mewakili port yang dapat meluncurkan dan mengakhiri proses.
IDebugPortNotify2 PS Digunakan untuk mendaftar dan membatalkan pendaftaran program dengan port; memungkinkan port untuk melacak program yang saat ini sedang di-debug.
IDebugPortPicker PS Mewakili UI yang dikustomisasi untuk memilih port.
IDebugPortRequest2 VS Mewakili permintaan port tempat port baru akan dibuat atau berada.
IDebugPortSupplier2 PS Mewakili pemasok port.
IDebugPortSupplier3 PS Mewakili pemasok port yang dapat menyimpan (menyimpan ke disk) informasi tentang port yang dibuatnya.
IDebugPortSupplierDescription2 PS Mengaktifkan UI Visual Studio untuk menampilkan teks di dalam bagian Informasi Transportasi dari kotak dialog Lampirkan ke Proses .
IDebugWindowsComputerPort2 VS Memungkinkan kueri untuk informasi tentang komputer target.
IEnumDebugPorts2 VS, PS Mewakili enumerasi atas sekumpulan port.
IEnumDebugPortSuppliers2 VS Mewakili enumerasi atas satu set pemasok port.

Proses

Antarmuka ini mewakili proses, satu yang dapat dieksekusi yang berisi satu atau beberapa program.

Antarmuka Diimplementasikan oleh Deskripsi
IDebugProcess2 PS, DE Mewakili proses yang sedang berjalan pada komputer.
IDebugProcess3 PS, DE Mewakili proses yang secara aktif mendukung penelusuran kesalahan (digunakan untuk mengganti metode Langkah, Lanjutkan, dan Jalankan pada antarmuka IDebugProgram2 ).
IDebugProcessCreateEvent2 DE, PS Dikirim oleh DE atau port ketika proses telah dibuat.
IDebugProcessDestroyEvent2 DE, PS Dikirim oleh DE atau port ketika proses telah dihancurkan.
IDebugProcessEx2 PS Mewakili proses yang harus melacak sesi mana yang dilampirkan ke sesi tersebut.
IEnumDebugProcesses2 PS Mewakili enumerasi sekumpulan proses pada port.

Program

Antarmuka ini mewakili program, unit eksekusi logis yang tidak selalu sesuai dengan eksekusi fisik atau modul.

Antarmuka Diimplementasikan oleh Deskripsi
IDebugEngineProgram2 DE Mewakili IDebugProgram2 yang perlu bekerja dalam konser dengan program lain yang di-debug secara bersamaan.
IDebugProgram2 DE, PS Mewakili unit eksekusi logis.
IDebugProgramCreateEvent2 DE, PS Dikirim oleh DE atau port ketika program telah dibuat.
IDebugProgramDestroyEvent2 DE, PS Dikirim oleh DE atau port ketika program telah dihancurkan.
IDebugProgramEngines2 DE, PS Mewakili IDebugProgramNode2 yang dapat ditangani oleh beberapa mesin debug.
IDebugProgramEx2 PS Mewakili IDebugProgram2 yang harus dapat melacak sesi mana yang melekat padanya.
IDebugProgramHost2 DE, PS Mewakili IDebugProgram2 yang dapat mengembalikan informasi tentang proses menjalankannya.
IDebugProgramNode2 DE, PS Mewakili program yang dapat di-debug.
IDebugProgramNodeAttach2 DE, PS Memungkinkan simpul program diberi tahu tentang upaya untuk melampirkan ke program terkait.
IDebugProgramProvider2 DE Menyediakan cara bagi SDM untuk mengkueri DE tentang program yang dikendalikan oleh DE tersebut.
IDebugProgramPublisher2 VS Digunakan oleh DEs untuk mendaftarkan program dengan SDM untuk menunjukkan bahwa mereka sedang di-debug.
IDebugProviderProgramNode2 DE, PS Mewakili IDebugProgramNode2 yang dapat melakukan marshal antarmuka di seluruh utas atau batas proses.
IEnumDebugPrograms2 DE, PS Mewakili enumerasi sekumpulan program.

Properti

Antarmuka ini mewakili properti, nilai yang terkait dengan konteks tertentu, biasanya hasil evaluasi ekspresi.

Antarmuka Diimplementasikan oleh Deskripsi
IDebugCustomViewer EE Mewakili IDebugProperty2 yang dapat menampilkan nilainya dengan cara kustom.
IDebugProperty2 DE Mewakili nilai bingkai tumpukan, dokumen, atau hasil evaluasi ekspresi.
IDebugProperty3 DE Mewakili IDebugProperty2 yang mendukung string yang sangat panjang.
IDebugPropertyCreateEvent2 DE Dikirim oleh DE ketika properti baru (diwakili oleh antarmuka IDebugProperty2 ) telah dibuat.
IDebugPropertyDestroyEvent2 DE Dikirim oleh DE ketika properti telah dihancurkan.
IDebugReference2 DE Mewakili referensi ke properti yang dapat ada di luar bingkai tumpukan tertentu.
IEnumDebugPropertyInfo2 DE Mewakili enumerasi atas sekumpulan struktur DEBUG_PROPERTY_INFO yang menjelaskan variabel, register, parameter, dan ekspresi.
IEnumDebugReferenceInfo2 DE Mewakili enumerasi atas satu set struktur DEBUG_REFERENCE_INFO .

Bingkai Tumpukan

Antarmuka ini mewakili bingkai tumpukan, konteks di mana titik henti atau pengecualian telah terjadi.

Antarmuka Diimplementasikan oleh Deskripsi
IDebugStackFrame2 DE Mewakili konteks di mana titik henti atau pengecualian telah terjadi.
IDebugStackFrame3 DE Mewakili IDebugStackFrame2 yang dapat menangani pengecualian yang disadap.
IEnumCodePaths2 DE Mewakili enumerasi atas kumpulan struktur CODE_PATH yang menentukan urutan panggilan fungsi yang digunakan untuk tiba di bingkai tumpukan tertentu.
IEnumDebugFrameInfo2 DE Mewakili enumerasi atas sekumpulan struktur FRAMEINFO , yang menjelaskan bingkai tumpukan.

Utas

Antarmuka ini mewakili utas dan peristiwa terkaitnya.

Antarmuka Diimplementasikan oleh Deskripsi
IDebugThread2 DE Mewakili utas eksekusi.
IDebugThreadCreateEvent2 DE Dikirim oleh DE ketika utas telah dibuat.
IDebugThreadDestroyEvent2 DE Dikirim oleh DE ketika utas telah dihancurkan.
IDebugThreadNameChangedEvent2 DE Dikirim oleh DE ketika utas telah mengubah namanya.
IEnumDebugThreads2 DE Mewakili enumerasi atas satu set utas.

Ketik Visualizer

Antarmuka ini menyediakan dukungan untuk jenis visualizer. Antarmuka ini biasanya diimplementasikan oleh evaluator ekspresi.

Antarmuka Diimplementasikan oleh Deskripsi
IEEDataStorage EE Mewakili array byte yang akan disajikan ke visualizer jenis.
IPropertyProxyEESide EE Menyediakan metode untuk mendapatkan akses ke data yang akan diteruskan ke visualizer jenis.
IPropertyProxyProvider EE Mewakili properti yang menyediakan akses ke implementasi IPropertyProxyEESide .

Baca juga