Bagikan melalui


struktur SYMBOL_INFOW (dbghelp.h)

Berisi informasi simbol.

Sintaksis

typedef struct _SYMBOL_INFOW {
  ULONG   SizeOfStruct;
  ULONG   TypeIndex;
  ULONG64 Reserved[2];
  ULONG   Index;
  ULONG   Size;
  ULONG64 ModBase;
  ULONG   Flags;
  ULONG64 Value;
  ULONG64 Address;
  ULONG   Register;
  ULONG   Scope;
  ULONG   Tag;
  ULONG   NameLen;
  ULONG   MaxNameLen;
  WCHAR   Name[1];
} SYMBOL_INFOW, *PSYMBOL_INFOW;

Anggota

SizeOfStruct

Ukuran struktur, dalam byte. Anggota ini harus diatur ke sizeof(SYMBOL_INFO). Perhatikan bahwa ukuran total data adalah SizeOfStruct + (MaxNameLen - 1) * sizeof(TCHAR). Alasan untuk mengurangi satu adalah bahwa karakter pertama dalam nama diperhitungkan dalam ukuran struktur.

TypeIndex

Nilai unik yang mengidentifikasi jenis data yang menjelaskan simbol. Nilai ini tidak bertahan di antara sesi.

Reserved[2]

Anggota ini dicadangkan untuk penggunaan sistem.

Index

Nilai unik untuk simbol . Nilai yang terkait dengan simbol tidak dijamin sama setiap kali Anda menjalankan proses.

Untuk simbol PDB, nilai indeks untuk simbol tidak dihasilkan sampai simbol dijumlahkan atau diambil melalui pencarian berdasarkan nama atau alamat. Nilai indeks untuk semua simbol CodeView dan COFF dihasilkan saat simbol dimuat.

Size

Ukuran simbol, dalam byte. Nilai ini bermakna hanya jika simbol modul berasal dari file pdb; jika tidak, nilai ini biasanya nol dan harus diabaikan.

ModBase

Alamat dasar modul yang berisi simbol .

Flags

Anggota ini bisa menjadi satu atau beberapa nilai berikut.

Nilai Arti
SYMFLAG_CLR_TOKEN
0x00040000
Simbolnya adalah token CLR.
SYMFLAG_CONSTANT
0x00000100
Simbol adalah konstanta.
SYMFLAG_EXPORT
0x00000200
Simbol berasal dari tabel ekspor.
SYMFLAG_FORWARDER
0x00000400
Simbol adalah penerus.
SYMFLAG_FRAMEREL
0x00000020
Offset relatif terhadap bingkai.
SYMFLAG_FUNCTION
0x00000800
Simbol adalah fungsi yang diketahui.
SYMFLAG_ILREL
0x00010000
Alamat simbol adalah offset yang relatif terhadap awal blok bahasa perantara. Ini hanya berlaku untuk kode terkelola.
SYMFLAG_LOCAL
0x00000080
Simbol adalah variabel lokal.
SYMFLAG_METADATA
0x00020000
Simbol adalah metadata terkelola.
SYMFLAG_PARAMETER
0x00000040
Simbol adalah parameter.
SYMFLAG_REGISTER
0x00000008
Simbolnya adalah register. Anggota Register digunakan.
SYMFLAG_REGREL
0x00000010
Offset adalah relatif register.
SYMFLAG_SLOT
0x00008000
Simbol adalah slot kode terkelola.
SYMFLAG_THUNK
0x00002000
Simbolnya adalah thunk.
SYMFLAG_TLSREL
0x00004000
Simbol adalah offset ke dalam area data TLS.
SYMFLAG_VALUEPRESENT
0x00000001
Anggota Nilai digunakan.
SYMFLAG_VIRTUAL
0x00001000
Simbol adalah simbol virtual yang dibuat oleh fungsi SymAddSymbol.

Value

Nilai konstanta.

Address

Alamat virtual awal simbol.

Register

Daftarnya.

Scope

Cakupan DIA. Untuk informasi selengkapnya, lihat Akses Antarmuka Debug dalam dokumentasi Visual Studio. (Sumber daya ini mungkin tidak tersedia dalam beberapa bahasa

dan negara.)

Tag

Klasifikasi PDB. Nilai-nilai ini didefinisikan dalam Dbghelp.h dalam jenis enumerasi SymTagEnum.

NameLen

Panjang nama, dalam karakter, tidak termasuk karakter null-terminating.

MaxNameLen

Ukuran buffer Nama , dalam karakter. Jika anggota ini adalah 0, anggota Nama tidak digunakan.

Name[1]

Nama simbol. Nama dapat tidak terdekorasi jika opsi SYMOPT_UNDNAME digunakan dengan fungsi SymSetOptions.

Komentar

Nota

Header dbghelp.h mendefinisikan SYMBOL_INFO sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta preprosedur UNICODE. Mencampur penggunaan alias encoding-netral dengan kode yang tidak mengodekan-netral dapat menyebabkan ketidakcocokan yang mengakibatkan kesalahan kompilasi atau runtime. Untuk informasi selengkapnya, lihat Konvensi untuk Prototipe Fungsi.

Persyaratan

Syarat Nilai
Header dbghelp.h
Redistributable DbgHelp.dll 5.1 atau yang lebih baru

Lihat juga

SymEnumSymbolsProc

SymFromAddr

SymFromName

SymGetTypeFromName