Metode IDebugControl2::SetEngineOptions (dbgeng.h)

Metode SetEngineOptions mengubah opsi mesin.

Sintaks

HRESULT SetEngineOptions(
  [in] ULONG Options
);

Parameter

[in] Options

Menentukan opsi baru mesin. Opsinya adalah bit-set; ini akan menggantikan opsi simbol yang ada. Untuk deskripsi opsi mesin, lihat Komentar.

Nilai kembali

Metode ini juga dapat mengembalikan nilai kesalahan. Lihat Mengembalikan Nilai untuk detail selengkapnya.

Menampilkan kode Deskripsi
S_OK
Metode berhasil.

Keterangan

Metode ini akan mengatur opsi mesin ke opsi yang ditentukan dalam Opsi. Tidak seperti AddEngineOptions, opsi simbol apa pun yang tidak tercantum dalam Opsi bit-set akan dihapus.

Setelah opsi mesin diubah, mesin mengirimkan pemberitahuan ke setiap objek panggilan balik peristiwa klien dengan meneruskan bendera DEBUG_CES_ENGINE_OPTIONS ke metode IDebugEventCallbacks::ChangeEngineState .

Opsi global berikut memengaruhi perilaku mesin debugger:

Terus-menerus Deskripsi
DEBUG_ENGOPT_IGNORE_DBGHELP_VERSION Mesin debugger menghasilkan peringatan alih-alih kesalahan jika versi DLL DbgHelp tidak cocok dengan versi mesin debugger.
DEBUG_ENGOPT_IGNORE_EXTENSION_VERSIONS Nonaktifkan pemeriksaan versi untuk ekstensi. Ini menekan panggilan mesin debugger ke CheckVersion.
DEBUG_ENGOPT_ALLOW_NETWORK_PATHS Berbagi jaringan dapat digunakan untuk memuat simbol dan ekstensi. Opsi ini mencegah mesin melarang jalur jaringan saat men-debug beberapa proses sistem dan harus digunakan dengan hati-hati.

Opsi ini tidak dapat diatur jika DEBUG_ENGOPT_DISALLOW_NETWORK_PATHS diatur.

DEBUG_ENGOPT_DISALLOW_NETWORK_PATHS Berbagi jaringan tidak dapat digunakan untuk memuat simbol dan ekstensi. Mesin mencoba mengatur opsi ini saat men-debug beberapa proses sistem.

Opsi ini tidak dapat diatur jika DEBUG_ENGOPT_ALLOW_NETWORK_PATHS diatur.

DEBUG_ENGOPT_NETWORK_PATHS Bitwise ATAU DEBUG_ENGOPT_ALLOW_NETWORK_PATHS dan DEBUG_ENGOPT_DISALLOW_NETWORK_PATHS.
DEBUG_ENGOPT_IGNORE_LOADER_EXCEPTIONS Abaikan pengecualian peluang pertama yang diharapkan yang dihasilkan oleh loader di versi Windows tertentu.

Misalnya, opsi ini memungkinkan biner Windows 3.51 berjalan saat men-debug sistem Windows 3.1 dan 3.5.

DEBUG_ENGOPT_INITIAL_BREAK Pecahkan ke debugger di peristiwa awal target.
DEBUG_ENGOPT_INITIAL_MODULE_BREAK Pecahkan ke debugger saat target memuat modul pertamanya.
DEBUG_ENGOPT_FINAL_BREAK Pecahkan debugger di acara terakhir target. Dalam target mode pengguna langsung, ini adalah ketika proses keluar. Ini tidak berpengaruh dalam mode kernel.
DEBUG_ENGOPT_NO_EXECUTE_REPEAT Ketika diberikan perintah kosong, mesin debugger tidak mengulangi perintah terakhir.
DEBUG_ENGOPT_FAIL_INCOMPLETE_INFORMATION Mencegah debugger memuat modul yang gambarnya tidak dapat dipetakan.

Debugger mencoba memuat gambar saat men-debug minidump yang tidak berisi gambar.

DEBUG_ENGOPT_ALLOW_READ_ONLY_BREAKPOINTS Izinkan mesin debugger memanipulasi perlindungan halaman pada target untuk memungkinkan pengaturan titik henti perangkat lunak di bagian memori baca-saja.

Saat mengatur titik henti perangkat lunak, mesin secara transparan mengubah memori target untuk menyisipkan instruksi interupsi.

DEBUG_ENGOPT_SYNCHRONIZE_BREAKPOINTS Dalam penelusuran kesalahan mode pengguna langsung, mesin melakukan pekerjaan ekstra saat menyisipkan dan menghapus titik henti untuk memastikan bahwa semua utas dalam target memiliki status titik henti yang konsisten setiap saat.

Opsi ini berguna ketika beberapa utas dapat menggunakan kode tempat titik henti diatur. Namun, itu dapat memperkenalkan kemungkinan kebuntuan.

DEBUG_ENGOPT_DISALLOW_SHELL_COMMANDS Larang menjalankan perintah shell melalui debugger.

Setelah opsi ini diatur, opsi tidak dapat dilepas.

DEBUG_ENGOPT_KD_QUIET_MODE Aktifkan mode diam. Untuk informasi selengkapnya, lihat sq (Atur Mode Diam).
DEBUG_ENGOPT_DISABLE_MANAGED_SUPPORT Menonaktifkan dukungan mesin debugger untuk kode terkelola. Jika dukungan untuk kode terkelola sudah digunakan, opsi ini tidak berpengaruh.
DEBUG_ENGOPT_DISABLE_MODULE_SYMBOL_LOAD Debugger tidak memuat simbol untuk modul yang dimuat saat bendera ini diatur.
DEBUG_ENGOPT_DISABLE_EXECUTION_COMMANDS Mencegah perintah apa pun yang akan menyebabkan target mulai dieksekusi.
DEBUG_ENGOPT_DISALLOW_IMAGE_FILE_MAPPING Melarang pemetaan file gambar dari disk. Misalnya, opsi ini melarang pemetaan gambar untuk konten memori selama penelusuran kesalahan file minidump. Opsi ini tidak memengaruhi pemetaan yang ada; ini hanya memengaruhi upaya berikutnya untuk memetakan file gambar.
DEBUG_ENGOPT_PREFER_DML Debugger menjalankan versi perintah dan operasi yang disempurnakan DML secara default.
DEBUG_ENGOPT_DISABLESQM Menonaktifkan pengunggahan data Software Quality Metrics (SQM).

Persyaratan

Persyaratan Nilai
Target Platform Desktop
Header dbgeng.h (termasuk Dbgeng.h)

Lihat juga

AddEngineOptions

GetEngineOptions

IDebugControl

IDebugControl2

IDebugControl3

RemoveEngineOptions