函数(调试接口访问 SDK)

每个函数由 SymTagFunction 符号标识。

属性

下表显示了对此符号类型有效的属性。

属性 数据类型 说明
IDiaSymbol::get_access DWORD 如果函数是成员函数,则为 CV_access_e 枚举的值之一。
IDiaSymbol::get_addressOffset DWORD 位置的偏移部分;有关详细信息,请参阅 LocationType Enumeration
IDiaSymbol::get_addressSection DWORD 位置的节部分;有关详细信息,请参阅 LocationType 枚举
IDiaSymbol::get_classParent IDiaSymbol* 如果函数是成员函数,则为类的符号。
IDiaSymbol::get_classParentId DWORD 类父符号的 ID。
IDiaSymbol::get_constType BOOL 如果函数标记为常数,则为 TRUE
IDiaSymbol::get_customCallingConvention BOOL TRUE 如果函数使用自定义调用约定(仅在调试接口访问 (DIA) SDK V8.0 或更高版本中)。
IDiaSymbol::get_farReturn BOOL 如果函数执行远返回,则为 TRUE(仅在 DIA SDK V8.0 或更高版本中)。
IDiaSymbol::get_hasAlloca BOOL 如果函数使用分配的内存函数,则为 TRUE(仅在 DIA SDK V8.0 或更高版本中)。
IDiaSymbol::get_hasEH BOOL 如果函数包含 C++ 样式异常处理,则为 TRUE(仅在 DIA SDK V8.0 或更高版本中)。
IDiaSymbol::get_hasEHa BOOL 如果函数包含异步异常处理,则为 TRUE(仅在 DIA SDK V8.0 或更高版本中)。
IDiaSymbol::get_hasInlAsm BOOL 如果函数包含内联程序集,则为 TRUE(仅在 DIA SDK V8.0 或更高版本中)。
IDiaSymbol::get_hasLongJump BOOL 如果函数包含 longjmp 调用,则为 TRUE(仅在 DIA SDK V8.0 或更高版本中)。
IDiaSymbol::get_hasSecurityChecks BOOL 如果函数包含安全性检查,则为 TRUE(仅在 DIA SDK V8.0 或更高版本中)。
IDiaSymbol::get_hasSEH BOOL 如果函数包含 Win32 样式结构化异常处理,则为 TRUE(仅在 DIA SDK V8.0 或更高版本中)。
IDiaSymbol::get_hasSetJump BOOL 如果函数包含 setjmp 调用,则为 TRUE(仅在 DIA SDK V8.0 或更高版本中)。
IDiaSymbol::get_interruptReturn BOOL 如果函数包含从中断返回,则为 TRUE(仅在 DIA SDK V8.0 或更高版本中)。
IDiaSymbol::get_intro BOOL 如果函数是简介虚拟,则为 TRUE
IDiaSymbol::get_InlSpec BOOL TRUE 如果函数已被标记有其中 inline, __inline, __forceinline 一个属性,
IDiaSymbol::get_isNaked BOOL 如果函数被标记为 naked 属性,则为 TRUE(仅在 DIA SDK v8.0 或更高版本中)。
IDiaSymbol::get_isStatic BOOL 如果函数是静态的,则为 TRUE(仅在 DIA SDK V8.0 或更高版本中)。
IDiaSymbol::get_length ULONGLONG 函数代码的字节数,从位置开始。
IDiaSymbol::get_lexicalParent IDiaSymbol* 封闭编译单位的符号。
IDiaSymbol::get_lexicalParentId DWORD 词法父级符号的 ID。
IDiaSymbol::get_locationType DWORD 函数具有静态位置或元数据位置;有关详细信息,请参阅符号位置
IDiaSymbol::get_name BSTR 函数的名称。
IDiaSymbol::get_noInline BOOL 如果函数不是内联函数,则为 TRUE(仅在 DIA SDK V8.0 或更高版本中)。
IDiaSymbol::get_notReached BOOL 如果函数不可访问,则为 TRUE(仅在 DIA SDK V8.0 或更高版本中)。
IDiaSymbol::get_noReturn BOOL 如果函数不返回值,则为 TRUE(仅在 DIA SDK V8.0 或更高版本中)。
IDiaSymbol::get_noStackOrdering BOOL 如果函数使用缓冲安全性检查编译,但不能执行任何堆叠顺序,则为 TRUE
IDiaSymbol::get_optimizedCodeDebugInfo BOOL 如果该代码具有优化代码的调试信息,则为 TRUE(仅在 DIA SDK V8.0 或更高版本中)。
IDiaSymbol::get_pure BOOL 如果函数是纯虚拟函数,则为 TRUE
IDiaSymbol::get_relativeVirtualAddress DWORD 此函数在其模块中的相对位置。
IDiaSymbol::get_symIndexId DWORD 符号的索引 ID。
IDiaSymbol::get_symTag DWORD 返回 SymTagFunctionSymTagEnum 枚举值之一)。
IDiaSymbol::get_token DWORD 函数的元数据标记。
IDiaSymbol::get_type IDiaSymbol* 函数签名的符号。
IDiaSymbol::get_typeId DWORD 类型符号 ID。
IDiaSymbol::get_unalignedType BOOL 如果函数未对齐,则为 TRUE
IDiaSymbol::get_undecoratedName BSTR 函数名称的未修饰表单(仅在 DIA SDK v8.0 或更高版本中)
IDiaSymbol::get_undecoratedNameEx BSTR 函数名称的未修饰表单的一部分或全部(仅在 DIA SDK v8.0 或更高版本中)。
IDiaSymbol::get_virtual BOOL 如果是虚拟函数,则为 TRUE
IDiaSymbol::get_virtualAddress ULONGLONG 此函数在可执行映像中的位置。
IDiaSymbol::get_virtualBaseOffset DWORD 如果是虚拟函数,则为虚拟函数表中的偏移量。
IDiaSymbol::get_volatileType BOOL 如果函数被标记为可变,则为 TRUE

另请参阅