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.
Mendapatkan antarmuka ICorDebugProcess yang sesuai dengan modul runtime bahasa umum (CLR) yang dimuat dalam proses.
Syntax
HRESULT OpenVirtualProcess(
[in] ULONG64 moduleBaseAddress,
[in] IUnknown * pDataTarget,
[in] ICLRDebuggingLibraryProvider * pLibraryProvider,
[in] CLR_DEBUGGING_VERSION * pMaxDebuggerSupportedVersion,
[in] REFIID riidProcess,
[out, iid_is(riidProcess)] IUnknown ** ppProcess,
[in, out] CLR_DEBUGGING_VERSION * pVersion,
[out] CLR_DEBUGGING_PROCESS_FLAGS * pdwFlags);
Parameter-parameternya
moduleBaseAddress [di] Alamat dasar modul dalam proses target.
COR_E_NOT_CLR dikembalikan jika modul yang ditentukan bukan modul CLR.
pDataTarget [di] Abstraksi target data yang memungkinkan debugger terkelola memeriksa status proses. Debugger harus mengimplementasikan antarmuka ICorDebugDataTarget . Anda harus menerapkan antarmuka ICLRDebuggingLibraryProvider untuk mendukung skenario di mana CLR yang sedang di-debug tidak diinstal secara lokal di komputer.
pLibraryProvider [di] Antarmuka panggilan balik penyedia pustaka yang memungkinkan pustaka debugging khusus versi ditemukan dan dimuat sesuai permintaan. Parameter ini hanya diperlukan jika ppProcess atau pFlags bukan null.
pMaxDebuggerSupportedVersion [di] Versi tertinggi CLR yang dapat di-debug oleh debugger ini. Anda harus menentukan versi utama, minor, dan build dari versi CLR terbaru yang didukung debugger ini, dan mengatur nomor revisi ke 65535 untuk mengakomodasi rilis layanan CLR di tempat mendatang.
riidProcess [di] ID antarmuka ICorDebugProcess untuk diambil. Saat ini, satu-satunya nilai yang diterima adalah IID_CORDEBUGPROCESS3, IID_CORDEBUGPROCESS2, dan IID_CORDEBUGPROCESS.
ppProcess [out] Penunjuk ke antarmuka COM yang diidentifikasi oleh riidProcess.
pVersion [masuk, keluar] Versi CLR. Pada input, nilai ini dapat berupa null. Ini juga dapat menunjuk ke struktur CLR_DEBUGGING_VERSION , dalam hal ini bidang struktur wStructVersion harus diinisialisasi ke 0 (nol).
Pada output, struktur yang dikembalikan CLR_DEBUGGING_VERSION akan diisi dengan informasi versi untuk CLR.
pdwFlags [out] Bendera informasi tentang runtime yang ditentukan. Untuk deskripsi bendera, lihat CLR_DEBUGGING_PROCESS_FLAGS.
Mengembalikan Nilai
Metode ini mengembalikan HRESULT tertentu berikut serta kesalahan HRESULT yang menunjukkan kegagalan metode.
| HRESULT | Description |
|---|---|
| S_OK | Metode berhasil diselesaikan. |
| E_POINTER |
pDataTarget adalah null. |
| CORDBG_E_LIBRARY_PROVIDER_ERROR | Panggilan balik ICLRDebuggingLibraryProvider mengembalikan kesalahan atau tidak memberikan handel yang valid. |
| CORDBG_E_MISSING_DATA_TARGET_INTERFACE |
pDataTarget tidak menerapkan antarmuka target data yang diperlukan untuk versi runtime ini. |
| CORDBG_E_NOT_CLR | Modul yang ditunjukkan bukan modul CLR. HRESULT ini juga dikembalikan ketika modul CLR tidak dapat dideteksi karena memori telah rusak, modul tidak tersedia, atau versi CLR lebih baru dari versi shim. |
| CORDBG_E_UNSUPPORTED_DEBUGGING_MODEL | Versi runtime ini tidak mendukung model penelusuran kesalahan ini. Saat ini, model penelusuran kesalahan tidak didukung oleh versi CLR sebelum .NET Framework 4. Parameter pwszVersion output masih diatur ke nilai yang benar setelah kesalahan ini. |
| CORDBG_E_UNSUPPORTED_FORWARD_COMPAT | Versi CLR lebih besar dari versi yang diklaim debugger ini untuk didukung. Parameter pwszVersion output masih diatur ke nilai yang benar setelah kesalahan ini. |
| E_NO_INTERFACE | Antarmuka riidProcess tidak tersedia. |
| CORDBG_E_UNSUPPORTED_VERSION_STRUCT | Struktur CLR_DEBUGGING_VERSION tidak memiliki nilai yang dikenali untuk wStructVersion. Satu-satunya nilai yang diterima saat ini adalah 0. |
Pengecualian
Komentar
Persyaratan
Platform: Lihat Persyaratan Sistem.
Header: CorDebug.idl, CorDebug.h
Perpustakaan: CorGuids.lib
Versi .NET Framework: Tersedia sejak 4
Versi .NET: Tersedia sejak .NET Core 2.1