Bagikan melalui


Fungsi SymSetOptions (dbghelp.h)

Mengatur opsi mask.

Sintaks

DWORD IMAGEAPI SymSetOptions(
  [in] DWORD SymOptions
);

Parameter

[in] SymOptions

Opsi simbol. Nol adalah nilai yang valid dan menunjukkan bahwa semua opsi dinonaktifkan. Nilai opsi digabungkan menggunakan operator OR untuk membentuk nilai opsi yang valid. Berikut ini adalah nilai yang valid.

Nilai Makna
SYMOPT_ALLOW_ABSOLUTE_SYMBOLS
0x00000800
Memungkinkan penggunaan simbol yang disimpan dengan alamat absolut. Sebagian besar simbol disimpan sebagai RVA dari dasar modul. DbgHelp menerjemahkannya ke alamat absolut. Ada simbol yang disimpan sebagai alamat absolut. Ini memiliki tujuan yang sangat khusus dan biasanya tidak digunakan.

DbgHelp 5.1 dan yang lebih lama: Nilai ini tidak didukung.

SYMOPT_ALLOW_ZERO_ADDRESS
0x01000000
Mengaktifkan penggunaan simbol yang tidak memiliki alamat. Secara default, DbgHelp memfilter simbol yang tidak memiliki alamat.
SYMOPT_AUTO_PUBLICS
0x00010000
Jangan mencari simbol publik saat mencari simbol berdasarkan alamat, atau saat menghitung simbol, kecuali simbol tersebut tidak ditemukan di simbol global atau dalam lingkup saat ini. Opsi ini tidak berpengaruh dengan SYMOPT_PUBLICS_ONLY.

DbgHelp 5.1 dan yang lebih lama: Nilai ini tidak didukung.

SYMOPT_CASE_INSENSITIVE
0x00000001
Semua pencarian simbol tidak peka terhadap huruf besar/kecil.
SYMOPT_DEBUG
0x80000000
Teruskan output debug melalui OutputDebugString atau fungsi panggilan balik SymRegisterCallbackProc64 .
SYMOPT_DEFERRED_LOADS
0x00000004
Simbol tidak dimuat sampai referensi dibuat mengharuskan simbol dimuat. Ini adalah cara tercepat dan paling efisien untuk menggunakan penangan simbol.
SYMOPT_DISABLE_SYMSRV_AUTODETECT
0x02000000
Menonaktifkan deteksi otomatis penyimpanan server simbol di jalur simbol, bahkan tanpa penunjukan "SRV*", mempertahankan kompatibilitas dengan perilaku sebelumnya.

DbgHelp 6.6 dan yang lebih lama: Nilai ini tidak didukung.

SYMOPT_EXACT_SYMBOLS
0x00000400
Jangan muat file .pdb yang tidak cocok. Jangan muat simbol ekspor jika semua lainnya gagal.
SYMOPT_FAIL_CRITICAL_ERRORS
0x00000200
Jangan tampilkan kotak dialog sistem ketika ada kegagalan media seperti tidak ada media dalam kandar. Sebaliknya, kegagalan terjadi secara diam-diam.
SYMOPT_FAVOR_COMPRESSED
0x00800000
Jika ada file yang tidak dikompresi dan terkompresi yang tersedia, pilih file terkompresi. Opsi ini baik untuk koneksi lambat.
SYMOPT_FLAT_DIRECTORY
0x00400000
Simbol disimpan di direktori akar penyimpanan hilir default.

DbgHelp 6.1 dan yang lebih lama: Nilai ini tidak didukung.

SYMOPT_IGNORE_CVREC
0x00000080
Abaikan informasi jalur di rekaman CodeView header gambar saat memuat file .pdb.
SYMOPT_IGNORE_IMAGEDIR
0x00200000
Abaikan direktori gambar.

DbgHelp 6.1 dan yang lebih lama: Nilai ini tidak didukung.

SYMOPT_IGNORE_NT_SYMPATH
0x00001000
Jangan gunakan jalur yang ditentukan oleh _NT_SYMBOL_PATH jika pengguna memanggil SymSetSearchPath tanpa jalur yang valid.

DbgHelp 5.1: Nilai ini tidak didukung.

SYMOPT_INCLUDE_32BIT_MODULES
0x00002000
Saat penelusuran kesalahan pada Windows 64-bit, sertakan modul 32-bit apa pun.
SYMOPT_LOAD_ANYTHING
0x00000040
Nonaktifkan pemeriksaan untuk memastikan file (.exe, .dbg., atau .pdb) adalah file yang benar. Sebagai gantinya, muat file pertama yang terletak.
SYMOPT_LOAD_LINES
0x00000010
Memuat informasi nomor baris.
SYMOPT_NO_CPP
0x00000008
Semua simbol berhias C++ yang berisi pemisah simbol "::" digantikan oleh "__". Opsi ini ada untuk debugger yang tidak dapat menangani penguraian nama simbol C++ nyata.
SYMOPT_NO_IMAGE_SEARCH
0x00020000
Jangan cari gambar untuk jalur simbol saat memuat simbol untuk modul jika header modul tidak dapat dibaca.

DbgHelp 5.1: Nilai ini tidak didukung.

SYMOPT_NO_PROMPTS
0x00080000
Mencegah meminta validasi dari server simbol.
SYMOPT_NO_PUBLICS
0x00008000
Jangan cari tabel publik untuk simbol. Opsi ini seharusnya tidak berpengaruh karena ada salinan simbol publik dalam tabel global.

DbgHelp 5.1: Nilai ini tidak didukung.

SYMOPT_NO_UNQUALIFIED_LOADS
0x00000100
Mencegah simbol dimuat saat penelepon memeriksa simbol di beberapa modul. Periksa hanya modul yang simbolnya telah dimuat.
SYMOPT_OVERWRITE
0x00100000
Timpa penyimpanan downlevel dari penyimpanan simbol.

DbgHelp 6.1 dan yang lebih lama: Nilai ini tidak didukung.

SYMOPT_PUBLICS_ONLY
0x00004000
Jangan gunakan simbol privat. Versi DbgHelp yang dikirim dengan rilis Windows sebelumnya hanya mendukung simbol publik; opsi ini memberikan kompatibilitas dengan batasan ini.

DbgHelp 5.1: Nilai ini tidak didukung.

SYMOPT_SECURE
0x00040000
DbgHelp tidak akan memuat server simbol apa pun selain SymSrv. SymSrv tidak akan menggunakan penyimpanan hilir yang ditentukan dalam _NT_SYMBOL_PATH. Setelah bendera ini ditetapkan, bendera tidak dapat dibersihkan.

DbgHelp 6.0 dan 6.1: Bendera ini dapat dibersihkan.

DbgHelp 5.1: Nilai ini tidak didukung.

SYMOPT_UNDNAME
0x00000002
Semua simbol disajikan dalam bentuk yang tidak terdekorasi.

Opsi ini tidak berpengaruh pada simbol global atau lokal karena disimpan tidak terdekorasi. Opsi ini hanya berlaku untuk simbol publik.

Mengembalikan nilai

Fungsi mengembalikan mask opsi saat ini.

Keterangan

Nilai opsi dapat diubah beberapa kali saat pustaka sedang digunakan oleh aplikasi. Perubahan opsi memengaruhi semua panggilan di masa mendatang ke penangan simbol.

Untuk mendapatkan mask opsi saat ini, panggil fungsi SymGetOptions .

Semua fungsi DbgHelp, seperti ini, adalah utas tunggal. Oleh karena itu, panggilan dari lebih dari satu utas ke fungsi ini kemungkinan akan mengakibatkan perilaku tak terduga atau kerusakan memori. Untuk menghindari hal ini, Anda harus menyinkronkan semua panggilan bersamaan dari lebih dari satu utas ke fungsi ini.

Contoh

Misalnya, lihat Menginisialisasi Penangan Simbol.

Persyaratan

   
Target Platform Windows
Header dbghelp.h
Pustaka Dbghelp.lib
DLL Dbghelp.dll
Redistribusi DbgHelp.dll 5.1 atau yang lebih baru

Lihat juga

DbgHelp Functions

SymGetOptions