Bagikan melalui


struktur SYMBOL_INFO (dbghelp.h)

Berisi informasi simbol.

Sintaks

typedef struct _SYMBOL_INFO {
  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;
  CHAR    Name[1];
} SYMBOL_INFO, *PSYMBOL_INFO;

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 namanya diperkirakan 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 (atau bit, jika simbol adalah anggota bitfield).

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 Makna
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 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
Simbolnya adalah metadata terkelola.
SYMFLAG_PARAMETER
0x00000040
Simbol adalah parameter .
SYMFLAG_REGISTER
0x00000008
Simbolnya adalah register. Anggota Daftar digunakan.
SYMFLAG_REGREL
0x00000010
Offset adalah register relatif.
SYMFLAG_SLOT
0x00008000
Simbol adalah slot kode terkelola.
SYMFLAG_THUNK
0x00002000
Simbolnya adalah thunk.
SYMFLAG_TLSREL
0x00004000
Simbol adalah offset ke 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 SDK 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 didekorasi jika opsi SYMOPT_UNDNAME digunakan dengan fungsi SymSetOptions .

Persyaratan

Persyaratan Nilai
Header dbghelp.h
Redistribusi DbgHelp.dll 5.1 atau yang lebih baru

Lihat juga

SymEnumSymbolsProc

SymFromAddr

SymFromName

SymGetTypeFromName