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.
Setelah mendaftarkan program dengan port yang sesuai, Anda harus melampirkan debugger ke program yang ingin Anda debug.
Pilih cara melampirkan
Ada tiga cara di mana manajer debug sesi (SDM) mencoba melampirkan ke program yang sedang di-debug.
Untuk program yang diluncurkan oleh mesin debug melalui metode LaunchSuspended (biasanya bahasa yang ditafsirkan, misalnya), SDM memperoleh antarmuka IDebugProgramNodeAttach2 dari objek IDebugProgramNode2 yang terkait dengan program yang dilampirkan. Jika SDM dapat memperoleh
IDebugProgramNodeAttach2antarmuka, SDM kemudian memanggil metode OnAttach . MetodeIDebugProgramNodeAttach2::OnAttachkembaliS_OKuntuk menunjukkan bahwa metode tidak melekat pada program dan bahwa upaya lain dapat dilakukan untuk melampirkan ke program.Jika SDM dapat memperoleh antarmuka IDebugProgramEx2 dari program yang dilampirkan, SDM memanggil metode Lampirkan . Pendekatan ini khas untuk program yang diluncurkan dari jarak jauh oleh pemasok port.
Jika program tidak dapat dilampirkan melalui
IDebugProgramNodeAttach2::OnAttachmetode atauIDebugProgramEx2::Attach, SDM memuat mesin debug (jika belum dimuat) dengan memanggilCoCreateInstancefungsi lalu memanggil metode Lampirkan . Pendekatan ini khas untuk program yang diluncurkan secara lokal oleh pemasok port.Dimungkinkan juga bagi pemasok port kustom untuk memanggil
IDebugEngine2::Attachmetode dalam implementasi pemasok port kustom dari metode tersebutIDebugProgramEx2::Attach. Biasanya dalam hal ini, pemasok port kustom meluncurkan mesin debug pada komputer jarak jauh.Lampiran dicapai ketika manajer debug sesi (SDM) memanggil metode Lampirkan .
Jika Anda menjalankan DE dalam proses yang sama dengan aplikasi yang akan di-debug, maka Anda harus menerapkan metode IDebugProgramNode2 berikut:
-
Setelah metode dipanggil
IDebugEngine2::Attach, ikuti langkah-langkah ini dalam implementasiIDebugEngine2::Attachmetode Anda:
Kirim objek peristiwa IDebugEngineCreateEvent2 ke SDM. Untuk informasi selengkapnya, lihat Mengirim peristiwa.
Panggil metode GetProgramId pada objek IDebugProgram2 yang diteruskan ke
IDebugEngine2::Attachmetode .Ini mengembalikan yang
GUIDdigunakan untuk mengidentifikasi program.GUIDharus disimpan dalam objek yang mewakili program lokal ke DE, dan harus dikembalikan ketikaIDebugProgram2::GetProgramIdmetode dipanggil padaIDebugProgram2antarmuka.Catatan
Jika Anda menerapkan
IDebugProgramNodeAttach2antarmuka, programGUIDditeruskan keIDebugProgramNodeAttach2::OnAttachmetode . IniGUIDdigunakan untuk programGUIDyang dikembalikan olehIDebugProgram2::GetProgramIdmetode .Kirim objek peristiwa IDebugProgramCreateEvent2 untuk memberi tahu SDM bahwa objek lokal
IDebugProgram2dibuat untuk mewakili program ke DE. Untuk detailnya, lihat Mengirim Peristiwa.Catatan
Ini bukan objek yang sama
IDebugProgram2yang diteruskan keIDebugEngine2::Attachmetode . Objek yang dilewatkanIDebugProgram2sebelumnya hanya dikenali oleh port dan merupakan objek terpisah.