指定信息以检索堆栈帧对象。
enum enum_FRAMEINFO_FLAGS {
FIF_FUNCNAME = 0x00000001,
FIF_RETURNTYPE = 0x00000002,
FIF_ARGS = 0x00000004,
FIF_LANGUAGE = 0x00000008,
FIF_MODULE = 0x00000010,
FIF_STACKRANGE = 0x00000020,
FIF_FRAME = 0x00000040,
FIF_DEBUGINFO = 0x00000080,
FIF_STALECODE = 0x00000100,
FIF_ANNOTATEDFRAME = 0x00000200,
FIF_DEBUG_MODULEP = 0x00000400,
FIF_FUNCNAME_FORMAT = 0x00001000,
FIF_FUNCNAME_RETURNTYPE = 0x00002000,
FIF_FUNCNAME_ARGS = 0x00004000,
FIF_FUNCNAME_LANGUAGE = 0x00008000,
FIF_FUNCNAME_MODULE = 0x00010000,
FIF_FUNCNAME_LINES = 0x00020000,
FIF_FUNCNAME_OFFSET = 0x00040000,
FIF_FUNCNAME_ARGS_TYPES = 0x00100000,
FIF_FUNCNAME_ARGS_NAMES = 0x00200000,
FIF_FUNCNAME_ARGS_VALUES = 0x00400000,
FIF_FUNCNAME_ARGS_ALL = 0x00700000,
FIF_ARGS_TYPES = 0x01000000,
FIF_ARGS_NAMES = 0x02000000,
FIF_ARGS_VALUES = 0x04000000,
FIF_ARGS_ALL = 0x07000000,
FIF_ARGS_NOFORMAT = 0x08000000,
FIF_ARGS_NO_FUNC_EVAL = 0x10000000,
FIF_FILTER_NON_USER_CODE = 0x20000000,
FIF_ARGS_NO_TOSTRING = 0x40000000,
FIF_DESIGN_TIME_EXPR_EVAL = 0x80000000
};
typedef DWORD FRAMEINFO_FLAGS;
public enum enum_FRAMEINFO_FLAGS {
FIF_FUNCNAME = 0x00000001,
FIF_RETURNTYPE = 0x00000002,
FIF_ARGS = 0x00000004,
FIF_LANGUAGE = 0x00000008,
FIF_MODULE = 0x00000010,
FIF_STACKRANGE = 0x00000020,
FIF_FRAME = 0x00000040,
FIF_DEBUGINFO = 0x00000080,
FIF_STALECODE = 0x00000100,
FIF_ANNOTATEDFRAME = 0x00000200,
FIF_DEBUG_MODULEP = 0x00000400,
FIF_FUNCNAME_FORMAT = 0x00001000,
FIF_FUNCNAME_RETURNTYPE = 0x00002000,
FIF_FUNCNAME_ARGS = 0x00004000,
FIF_FUNCNAME_LANGUAGE = 0x00008000,
FIF_FUNCNAME_MODULE = 0x00010000,
FIF_FUNCNAME_LINES = 0x00020000,
FIF_FUNCNAME_OFFSET = 0x00040000,
FIF_FUNCNAME_ARGS_TYPES = 0x00100000,
FIF_FUNCNAME_ARGS_NAMES = 0x00200000,
FIF_FUNCNAME_ARGS_VALUES = 0x00400000,
FIF_FUNCNAME_ARGS_ALL = 0x00700000,
FIF_ARGS_TYPES = 0x01000000,
FIF_ARGS_NAMES = 0x02000000,
FIF_ARGS_VALUES = 0x04000000,
FIF_ARGS_ALL = 0x07000000,
FIF_ARGS_NOFORMAT = 0x08000000,
FIF_ARGS_NO_FUNC_EVAL = 0x10000000,
FIF_FILTER_NON_USER_CODE = 0x20000000,
FIF_ARGS_NO_TOSTRING = 0x40000000,
FIF_DESIGN_TIME_EXPR_EVAL = 0x80000000
};
成员
FIF_FUNCNAME
初始化/使用 m_bstrFuncName 字段。FIF_RETURNTYPE
初始化/使用 m_bstrReturnType 字段。FIF_ARGS
初始化/使用 m_bstrArgs 字段。FIF_LANGUAGE
初始化/使用 m_bstrLanguage 字段。FIF_MODULE
初始化/使用 m_bstrModule 字段。FIF_STACKRANGE
初始化/使用 m_addrMin 和 m_addrMax (堆栈大小) 字段。FIF_FRAME
初始化/使用 m_pFrame 字段。FIF_DEBUGINFO
初始化/使用 m_fHasDebugInfo 字段。FIF_STALECODE
初始化/使用 m_fStaleCode 字段。FIF_ANNOTATEDFRAME
初始化/使用 m_fAnnotatedFrame 字段。FIF_DEBUG_MODULEP
初始化/使用 m_pModule 字段。FIF_FUNCNAME_FORMAT
格式设置功能名。 该结果。 m_bstrFunName 字段返回,其他所有字段则不会完成。FIF_FUNCNAME_RETURNTYPE
添加返回类型为 m_bstrFuncName 字段。FIF_FUNCNAME_ARGS
添加参数。 m_bstrFuncName 字段。FIF_FUNCNAME_LANGUAGE
添加这种语言。 m_bstrFuncName 字段。FIF_FUNCNAME_MODULE
添加模块名称添加到 m_bstrFuncName 字段。FIF_FUNCNAME_LINES
添加行数。 m_bstrFuncName 字段。FIF_FUNCNAME_OFFSET
,如果 FIF_FUNCNAME_LINES 指定,在字节从开头添加到 m_bstrFuncName 字段偏移量行。 如果 FIF_FUNCNAME_LINES 未指定,或者,如果行号不可用,在字节从开头添加偏移量函数。FIF_FUNCNAME_ARGS_TYPES
添加每个函数参数的类型更改 m_bstrFuncName 字段。FIF_FUNCNAME_ARGS_NAMES
将每个函数参数的名称。 m_bstrFuncName 字段。FIF_FUNCNAME_ARGS_VALUES
将每个函数参数的值。 m_bstrFuncName 字段。FIF_FUNCNAME_ARGS_ALL
添加所有参数的类型、名称和值。 m_bstrFuncName 字段。FIF_ARGS_TYPES
参数类型检索和格式。FIF_ARGS_NAMES
参数名称检索和格式。FIF_ARGS_VALUES
参数值检索和格式。FIF_ARGS_ALL
检索和设置所有参数的类型、名称和值。FIF_ARGS_NOFORMAT
指定参数不要设置格式 (例如,不要将打开,并在周围的右括号参数列表也不添加实参之间的分隔符)。FIF_ARGS_NO_FUNC_EVAL
指定不应使用函数 (属性) 计算,当检索实参值。FIF_FILTER_NON_USER_CODE
调试引擎是筛选非用户代码帧,因此它们不包括在内。FIF_ARGS_NO_TOSTRING
,当返回函数参数时,不允许 ToString() 函数求值或格式。FIF_DESIGN_TIME_EXPR_EVAL
应从承载的应用程序域上帧信息而不是宿主进程。
备注
这些标志传递给 IDebugThread2:: EnumFrameInfo 和 IDebugStackFrame2:: GetInfo 方法指示字段将初始化。 FRAMEINFO 结构或结构。
这些标志也用于指示 FRAMEINFO 结构的哪些字段是使用和有效,当结构返回时。 这些值可能按位组合使用 OR。
要求
标题:msdbg.h
命名空间:Microsoft.VisualStudio.Debugger.Interop
程序集:Microsoft.VisualStudio.Debugger.Interop.dll