// msdbg175.idl /******************************************************** * * * Copyright (C) Microsoft. All rights reserved. * * * *********************************************************/ cpp_quote("/********************************************************") cpp_quote("* *") cpp_quote("* Copyright (C) Microsoft. All rights reserved. *") cpp_quote("* *") cpp_quote("*********************************************************/") import "oaidl.idl"; import "ocidl.idl"; #ifndef DEBUGGER_PIA_BUILD import "msdbg.idl"; import "msdbg171.idl"; #endif #ifdef DEBUGGER_PIA_BUILD #define XINT32 int #else #define XINT32 ULONG32 #endif // Extended bit field to support frame priority levels. enum enum_FRAMEINFO_FLAGS_VALUES175 { // Existing flags: // FIFV_ANNOTATEDFRAME = 0x00000001, // FIFV_NON_USER_CODE = 0x00000002, // FIFV_CANINTERCEPT_EXCEPTION = 0x00000004, // FIFV_FUNCEVALFRAME = 0x00000008, // FIFV_MAXFRAMES_EXCEEDED = 0x00000010, // FIFV_ASYNC_FRAME = 0x00000020, // FIFV_RETURN_STACK_FRAME = 0x00000040, // FIFV_TASK_CREATION_STACK_FRAME = 0x00000080, // FIFV_ASYNC_CALL_ANNOTATED_FRAME = 0x00000100, // FIFV_ASYNC_CONTINUATION_ANNOTATED_FRAME = 0x00000200, // FIFV_INLINE_FRAME = 0x00000400, // FIFV_HIDDEN_FRAME = 0x00000800, // Specifies priority for frame display. FIFV_WARNING_FRAME = 0x00001000, FIFV_CRITICAL_FRAME = 0x00002000, FIFV_DEEMPHASIZED_FRAME = 0x00004000 }; // Indicates that the variable value could be evaluated if the target is relaunched with optimizations disabled. // NOTE: DBG_EXATTRIB_TRUNCATED_STRING is defined as the same value as DBG_EXATTRIB_CAN_EVALUATE_WITHOUT_OPTIMIZATION. // To differentiate them, DBG_EXATTRIB_CAN_EVALUATE_WITHOUT_OPTIMIZATION should only be used with DBG_ATTRIB_VALUE_ERROR. cpp_quote("#define DBG_EXATTRIB_CAN_EVALUATE_WITHOUT_OPTIMIZATION 0x0000000000000100") // Optional interface that can be implemented by objects that implement IDebugStackFrame* to allow generation // of symbols with embedded source, e.g. by decompilation. [ object, uuid(5A1271B5-E682-422C-A6D6-104B727F6028), pointer_default(unique) ] interface IDebugStackFrame175 : IUnknown { // Determines whether symbols can be generated for this stack frame. HRESULT CanGenerateSymbols( [out] BOOL* pfRetVal ); // Generate symbols for the stack frame. HRESULT GenerateSymbolsAsync( [in] IAsyncDebugGenerateSymbolsCompletionHandler* pCompletionHandler, [out] IAsyncDebugEngineOperation** ppDebugOperation ); }; enum enum_MODULE175_FLAGS { //// --------------------------------------------------------------------- //// VS 8.0 values //MODULE100_FLAG_NONE = 0x0000, //MODULE100_FLAG_SYSTEM = 0x0001, //MODULE100_FLAG_SYMBOLS = 0x0002, //MODULE100_FLAG_64BIT = 0x0004, //// //// If the engine knows a module about optimizations it needs to set //// either of these flags, if it does not the module window will assume //// it does not //// //MODULE100_FLAG_OPTIMIZED = 0x0008, //MODULE100_FLAG_UNOPTIMIZED = 0x0010, //// --------------------------------------------------------------------- //// VS 9.0 values //// --------------------------------------------------------------------- //// VS 10.0 values //MODULE100_FLAG_ENGINEWILLLOADSYMS = 0x0020, //MODULE100_FLAG_SYMBOLSUNAVAILABLE = 0x0040, // The engine cannot load symbols at this time //// --------------------------------------------------------------------- //// VS 17.2 values //MODULE172_FLAG_SYMBOLS_DECOMPILED = 0x0080, // the symbols are the result of a decompilation //MODULE172_FLAG_SYMBOLS_RELOADABLE = 0x0100 // the symbols have the potential to be reloaded in favor of a higher fidelity symbol file, i.e. decompiled can be reloaded for the real symbols //// --------------------------------------------------------------------- //// VS 17.5 values MODULE175_FLAG_SYMBOLS_PARTIALLY_DECOMPILED = 0x0200 // The symbols are the result of partial decompilation. }; typedef DWORD MODULE175_FLAGS;