Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Melampirkan mesin debug (DE) ke program atau program. Dipanggil oleh manajer debug sesi (SDM) ketika DE berjalan dalam proses ke SDM.
Sintaks
int Attach(
IDebugProgram2[] pProgram,
IDebugProgramNode2[] rgpProgramNodes,
uint celtPrograms,
IDebugEventCallback2 pCallback,
Enum_ATTACH_REASON dwReason
);
Parameter
pProgram
[di] Array objek IDebugProgram2 yang mewakili program yang akan dilampirkan. Ini adalah program port.
rgpProgramNodes
[di] Array objek IDebugProgramNode2 yang mewakili simpul program, satu untuk setiap program. Simpul program dalam array ini mewakili program yang sama seperti dalam pProgram. Simpul program diberikan agar DE dapat mengidentifikasi program yang akan dilampirkan.
celtPrograms
[di] Jumlah program dan/atau simpul program dalam pProgram array dan rgpProgramNodes .
pCallback
[di] Objek IDebugEventCallback2 yang akan digunakan untuk mengirim peristiwa debug ke SDM.
dwReason
[di] Nilai dari enumerasi ATTACH_REASON yang menentukan alasan untuk melampirkan program ini. Untuk informasi lebih lanjut, lihat bagian Keterangan.
Tampilkan Nilai
Jika berhasil, mengembalikan S_OK; jika tidak, mengembalikan kode galat.
Keterangan
Ada tiga alasan untuk melampirkan ke program, sebagai berikut:
ATTACH_REASON_LAUNCHmenunjukkan bahwa DE melampirkan ke program karena pengguna meluncurkan proses yang berisinya.ATTACH_REASON_USERmenunjukkan bahwa pengguna telah secara eksplisit meminta DE untuk melampirkan ke program (atau proses yang berisi program).ATTACH_REASON_AUTOmenunjukkan DE melampirkan ke program tertentu karena sudah men-debug program lain dalam proses tertentu. Ini juga disebut melampirkan otomatis.Ketika metode ini dipanggil, DE perlu mengirim peristiwa ini secara berurutan:
IDebugEngineCreateEvent2 (jika belum dikirim untuk instans tertentu dari mesin debug)
-
Selain itu, jika alasan untuk melampirkan adalah
ATTACH_REASON_LAUNCH, DE perlu mengirim peristiwa IDebugEntryPointEvent2 .Setelah DE mendapatkan objek IDebugProgramNode2 yang sesuai dengan program yang di-debug, de dapat dikueri untuk antarmuka privat apa pun.
Sebelum memanggil metode simpul program dalam array yang diberikan oleh
pProgramataurgpProgramNodes, peniruan identitas, jika diperlukan, harus diaktifkan padaIDebugProgram2antarmuka yang mewakili simpul program. Namun, biasanya, langkah ini tidak diperlukan. Untuk informasi selengkapnya, lihat Masalah Keamanan.