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.
Pengguna yang ingin men-debug program dapat menekan F5 untuk menjalankan debugger dari IDE. Ini memulai serangkaian peristiwa yang pada akhirnya menghasilkan koneksi IDE ke mesin debug (DE), yang pada gilirannya terhubung, atau terpasang, ke program sebagai berikut:
IDE pertama kali memanggil paket proyek untuk mendapatkan pengaturan debug dari proyek aktif dalam solusi. Pengaturan termasuk direktori awal, variabel lingkungan, port tempat program akan berjalan, dan DE yang akan digunakan untuk membuat program, jika ditentukan. Pengaturan ini diteruskan ke paket debug.
Jika DE ditentukan, DE memanggil sistem operasi untuk meluncurkan program. Sebagai konsekuensi dari peluncuran program, lingkungan run-time program dimuat. Misalnya, jika program ditulis dalam MSIL, runtime bahasa umum akan dipanggil untuk menjalankan program.
-atau-
Jika DE tidak ditentukan, port memanggil sistem operasi untuk meluncurkan program, yang menyebabkan lingkungan waktu proses program dimuat.
Nota
Jika DE digunakan untuk meluncurkan program, kemungkinan DE yang sama akan dilampirkan ke program.
Bergantung pada apakah DE atau port yang meluncurkan program, DE atau lingkungan run-time kemudian membuat deskripsi program atau node, dan memberi tahu port bahwa program sedang berjalan.
Nota
Disarankan agar lingkungan run-time membuat simpul program, karena simpul program adalah representasi ringan dari program yang dapat di-debug. Tidak perlu memuat seluruh DE hanya untuk membuat dan mendaftarkan simpul program. Jika DE dirancang untuk berjalan dalam proses IDE, tetapi tidak ada IDE yang benar-benar berjalan, perlu ada komponen yang dapat menambahkan simpul program ke port.
Program yang baru dibuat, bersama dengan program lain, terkait atau tidak terkait, diluncurkan atau dilampirkan dari IDE yang sama, menyusun sesi debug.
Secara programatik, ketika pengguna pertama kali menekan F5, paket debug Visual Studio memanggil paket proyek (yang terkait dengan jenis program yang diluncurkan) melalui metode DebugLaunch, yang pada gilirannya mengisi struktur VsDebugTargetInfo2 dengan pengaturan debug proyek aktif dari solusi tersebut. Struktur ini diteruskan kembali ke paket debug melalui panggilan ke LaunchDebugTargets2 metode . Paket debug kemudian menginstansiasi manajer debug sesi (SDM), yang menjalankan program yang sedang di-debug serta mesin-mesin debug terkait.
Salah satu argumen yang diteruskan ke SDM adalah GUID DE yang akan digunakan untuk meluncurkan program.
Jika GUID DE bukan
GUID_NULL, SDM ikut serta dalam pembuatan DE, lalu memanggil metode LaunchSuspended-nya untuk meluncurkan program. Misalnya, jika program ditulis dalam kode asli,IDebugEngineLaunch2::LaunchSuspendedmungkin akan memanggilCreateProcessdanResumeThread(fungsi Win32) untuk menjalankan program.Sebagai akibat dari peluncuran program, lingkungan eksekusi program dimuat. Baik DE atau lingkungan run-time kemudian membuat antarmuka IDebugProgramNode2 untuk menjelaskan program dan meneruskan antarmuka ini ke AddProgramNode untuk memberi tahu port bahwa program sedang berjalan.
Jika
GUID_NULLditeruskan, port akan meluncurkan program. Setelah program berjalan, lingkungan run-time membuatIDebugProgramNode2antarmuka untuk menggambarkan program dan meneruskannya keIDebugPortNotify2::AddProgramNode. Ini memberi tahu port bahwa program sedang berjalan. Kemudian SDM melampirkan mesin debug ke program yang sedang berjalan.
Di bagian ini
Memberi tahu port menjelaskan apa yang terjadi setelah program diluncurkan dan port diberi tahu.
Melampirkan setelah peluncuran dokumen ketika sesi debug siap untuk melampirkan DE ke program.
Konten terkait
- Tugas penelusuran kesalahan berisi tautan ke berbagai tugas penelusuran kesalahan, seperti meluncurkan program dan mengevaluasi ekspresi.