Bagikan melalui


SymTagEnum

Menentukan jenis simbol.

Sintaksis

enum SymTagEnum {
    SymTagNull,
    SymTagExe,
    SymTagCompiland,
    SymTagCompilandDetails,
    SymTagCompilandEnv,
    SymTagFunction,
    SymTagBlock,
    SymTagData,
    SymTagAnnotation,
    SymTagLabel,
    SymTagPublicSymbol,
    SymTagUDT,
    SymTagEnum,
    SymTagFunctionType,
    SymTagPointerType,
    SymTagArrayType,
    SymTagBaseType,
    SymTagTypedef,
    SymTagBaseClass,
    SymTagFriend,
    SymTagFunctionArgType,
    SymTagFuncDebugStart,
    SymTagFuncDebugEnd,
    SymTagUsingNamespace,
    SymTagVTableShape,
    SymTagVTable,
    SymTagCustom,
    SymTagThunk,
    SymTagCustomType,
    SymTagManagedType,
    SymTagDimension,
    SymTagCallSite,
    SymTagInlineSite,
    SymTagBaseInterface,
    SymTagVectorType,
    SymTagMatrixType,
    SymTagHLSLType,
    SymTagCaller,
    SymTagCallee,
    SymTagExport,
    SymTagHeapAllocationSite,
    SymTagCoffGroup,
    SymTagInlinee,
    SymTagTaggedUnionCase,
};

Elemen

Elemen Deskripsi
SymTagNull Menunjukkan bahwa simbol tidak memiliki jenis.
SymTagExe Menunjukkan bahwa simbol adalah file .exe.
hanya ada satu simbol SymTagExe per penyimpanan simbol.
Ini berfungsi sebagai cakupan global dan tidak memiliki induk leksikal.
SymTagCompiland Menunjukkan simbol kompilasi untuk setiap komponen kompilasi dari penyimpanan simbol.
Untuk aplikasi asli, simbol SymTagCompiland sesuai dengan file objek yang ditautkan ke dalam gambar. Untuk beberapa jenis gambar Microsoft Intermediate Language (MSIL), ada satu kompilasi per kelas.
SymTagCompilandDetails Menunjukkan bahwa simbol berisi atribut kompilasi yang diperluas.
Mengambil properti ini mungkin memerlukan pemuatan simbol kompilasi.
SymTagCompilandEnv Menunjukkan bahwa simbol adalah string lingkungan yang ditentukan untuk kompilasi.
SymTagFunction Menunjukkan bahwa simbol adalah fungsi.
SymTagBlock Menunjukkan bahwa simbol adalah blok berlapis.
SymTagData Menunjukkan bahwa simbol adalah data.
SymTagAnnotation Menunjukkan bahwa simbol adalah untuk anotasi kode.
Turunan dari simbol ini adalah string data konstan (SymTagData, LocIsConstant, dan DataIsConstant).
Sebagian besar klien mengabaikan simbol ini.
SymTagLabel Menunjukkan bahwa simbol adalah label.
SymTagPublicSymbol Menunjukkan bahwa simbol adalah simbol publik. Untuk aplikasi asli, simbol ini adalah simbol eksternal COFF yang ditemui saat menautkan gambar.
SymTagUDT Menunjukkan bahwa simbol adalah jenis yang ditentukan pengguna (struktur, kelas, atau gabungan).
SymTagEnum Menunjukkan bahwa simbol adalah enumerasi.
SymTagFunctionType Menunjukkan bahwa simbol adalah jenis tanda tangan fungsi.
SymTagPointerType Menunjukkan bahwa simbol adalah jenis penunjuk.
SymTagArrayType Menunjukkan bahwa simbol adalah jenis array.
SymTagBaseType Menunjukkan bahwa simbol adalah jenis dasar.
SymTagTypedef Menunjukkan bahwa simbol adalah typedef yang merupakan alias untuk jenis lain.
SymTagBaseClass Menunjukkan bahwa simbol adalah kelas dasar dari jenis yang ditentukan pengguna.
SymTagFriend Menunjukkan bahwa simbol adalah teman dari jenis yang ditentukan pengguna.
SymTagFunctionArgType Menunjukkan bahwa simbol adalah argumen fungsi.
SymTagFuncDebugStart Menunjukkan bahwa simbol adalah lokasi akhir dari kode prolog fungsi.
SymTagFuncDebugEnd Menunjukkan bahwa simbol adalah lokasi awal kode epilog fungsi.
SymTagUsingNamespace Menunjukkan bahwa simbol adalah nama namespace aktif dalam cakupan saat ini.
SymTagVTableShape Menunjukkan bahwa simbol adalah deskripsi tabel virtual.
SymTagVTable Menunjukkan bahwa simbol adalah penunjuk tabel virtual.
SymTagCustom Menunjukkan bahwa simbol adalah simbol kustom.
Microsoft Debug Interface Access (DIA) SDK tidak memberikan interpretasi lebih lanjut dari simbol-simbol ini.
SymTagThunk Menunjukkan bahwa simbol adalah thunk yang digunakan untuk berbagi data antara kode 16-bit dan 32-bit.
SymTagCustomType Menunjukkan bahwa simbol adalah simbol pengkompilasi kustom.
SymTagManagedType Menunjukkan bahwa simbol berada dalam metadata.
SymTagDimension Menunjukkan bahwa simbol adalah array multi-dimensi FORTRAN.
SymTagCallSite Menunjukkan bahwa simbol mewakili situs panggilan.
SymTagInlineSite Menunjukkan bahwa simbol mewakili situs sebaris.
SymTagBaseInterface Menunjukkan bahwa simbol adalah antarmuka dasar.
SymTagVectorType Menunjukkan bahwa simbol adalah jenis vektor.
SymTagMatrixType Menunjukkan bahwa simbol adalah jenis matriks.
SymTagHLSLType Menunjukkan bahwa simbol adalah jenis Bahasa Shader Tingkat Tinggi.
SymTagCaller Menunjukkan bahwa simbol mewakili informasi pemanggil Pengoptimalan yang dipandu profil (PGO).
SymTagCallee Menunjukkan bahwa simbol mewakili informasi penerima panggilan PGO.
SymTagExport Menunjukkan bahwa simbol adalah ekspor dari DLL.
SymTagHeapAllocationSite Menunjukkan bahwa simbol mewakili situs alokasi timbunan (misalnya, panggilan ke operator new)
SymTagCoffGroup Menunjukkan bahwa simbol adalah grup COFF.
SymTagInlinee Menunjukkan bahwa simbol mewakili sebaris situs sebaris (lihat SymTagInlineSite).
SymTagTaggedUnionCase Menunjukkan bahwa simbol adalah serikat yang ditandai (misalnya, jenis enum Rust)

Komentar

Semua simbol dalam file debug memiliki tag identifikasi yang menentukan jenis simbol.

Metode IDiaSymbol::get_symTag mengembalikan nilai dari enumerasi ini.

Nilai dalam enumerasi ini diteruskan ke metode berikut untuk membatasi cakupan pencarian ke jenis simbol tertentu:

Persyaratan

Header: cvconst.h

Lihat juga