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.
Membuat titik henti yang tertunda di mesin debug (DE).
Sintaks
int CreatePendingBreakpoint(
IDebugBreakpointRequest2 pBPRequest,
out IDebugPendingBreakpoint2 ppPendingBP
);
Parameter
pBPRequest
[di] Objek IDebugBreakpointRequest2 yang menjelaskan titik henti yang tertunda untuk dibuat.
ppPendingBP
[out] Mengembalikan objek IDebugPendingBreakpoint2 yang mewakili titik henti yang tertunda.
Tampilkan Nilai
Jika berhasil, mengembalikan S_OK; jika tidak, mengembalikan kode galat. Biasanya mengembalikan E_FAIL jika pBPRequest parameter tidak cocok dengan bahasa apa pun yang didukung oleh DE jika pBPRequest parameter tidak valid atau tidak lengkap.
Keterangan
Titik henti yang tertunda pada dasarnya adalah kumpulan semua informasi yang diperlukan untuk mengikat titik henti ke kode. Titik henti tertunda yang dikembalikan dari metode ini tidak terikat ke kode sampai metode Ikatan dipanggil.
Untuk setiap titik henti yang tertunda yang ditetapkan pengguna, manajer debug sesi (SDM) memanggil metode ini di setiap DE terlampir. Terserah DE untuk memverifikasi bahwa titik henti valid untuk program yang berjalan di DE tersebut.
Ketika pengguna mengatur titik henti pada baris kode, DE bebas untuk mengikat titik henti ke baris terdekat dalam dokumen yang sesuai dengan kode ini. Ini memungkinkan pengguna untuk mengatur titik henti pada baris pertama pernyataan multibaris, tetapi mengikatnya pada baris terakhir (di mana semua kode dikaitkan dalam informasi debug).
Contoh
Contoh berikut menunjukkan cara menerapkan metode ini untuk objek sederhana CProgram . Implementasi IDebugEngine2::CreatePendingBreakpoint DE kemudian dapat meneruskan semua panggilan ke implementasi metode ini di setiap program.
HRESULT CProgram::CreatePendingBreakpoint(IDebugBreakpointRequest2* pBPRequest, IDebugPendingBreakpoint2** ppPendingBP)
{
// Create and initialize the CPendingBreakpoint object.
CComObject<CPendingBreakpoint> *pPending;
CComObject<CPendingBreakpoint>::CreateInstance(&pPending);
pPending->Initialize(pBPRequest, m_pInterp, m_pCallback, m_pEngine);
return pPending->QueryInterface(ppPendingBP);
}