This interface is sent by the debug engine (DE) to the session debug manager (SDM) when a module is loaded or unloaded. (http://msdn.microsoft.com/en-ca/library/bb146706.aspx)
Наследование: AD7AsynchronousEvent, IDebugModuleLoadEvent2
Пример #1
0
        /// <summary>
        /// The VSNDK debug engine does not support binding breakpoints as modules load since the primary exe is the only module
        /// symbols are loaded for. A production debugger will need to bind breakpoints when a new module is loaded.
        /// </summary>
        /// <param name="debuggedModule"> A module loaded in the debugged process. </param>
        public void OnModuleLoad(AD7Module debuggedModule)
        {
            // AD7Module ad7Module = new AD7Module(debuggedModule);
            AD7ModuleLoadEvent eventObject = new AD7ModuleLoadEvent(debuggedModule, true /* this is a module load */);

            // debuggedModule.Client = ad7Module;

            Send(eventObject, AD7ModuleLoadEvent.IID, null);
        }
Пример #2
0
        /// <summary>
        /// Sends the event.
        /// </summary>
        /// <param name="engine"> The AD7Engine object that represents the DE. </param>
        /// <param name="aModule"> The IDebugModule2 object that represents the module which is loading or unloading. </param>
        /// <param name="fLoad"> onzero (TRUE) if the module is loading and zero (FALSE) if the module is unloading. </param>
        internal static void Send(AD7Engine engine, AD7Module aModule, bool fLoad)
        {
            var eventObject = new AD7ModuleLoadEvent(aModule, fLoad);

            engine.Callback.Send(eventObject, IID, null);
        }
Пример #3
0
        /// <summary>
        /// The VSNDK debug engine does not support binding breakpoints as modules load since the primary exe is the only module
        /// symbols are loaded for. A production debugger will need to bind breakpoints when a new module is loaded.
        /// </summary>
        /// <param name="debuggedModule"> A module loaded in the debugged process. </param>
        public void OnModuleLoad(AD7Module debuggedModule)
        {
            // AD7Module ad7Module = new AD7Module(debuggedModule);
            AD7ModuleLoadEvent eventObject = new AD7ModuleLoadEvent(debuggedModule, true /* this is a module load */);

            // debuggedModule.Client = ad7Module;

            Send(eventObject, AD7ModuleLoadEvent.IID, null);
        }
Пример #4
0
 internal static void Send(AD7Engine engine, AD7Module aModule, bool fLoad)
 {
     var eventObject = new AD7ModuleLoadEvent(aModule, fLoad);
     engine.Callback.Send(eventObject, IID, null);
 }
Пример #5
0
        //public void OnModuleLoad(DebuggedModule debuggedModule)
        public void OnModuleLoad(AD7Module debuggedModule)
        {
            // This will get called when the entrypoint breakpoint is fired because the engine sends a mod-load event
            // for the exe.
            // if (m_engine.DebuggedProcess != null)
            // {
                // Debug.Assert(GDBParser.CurrentThreadId == m_engine.DebuggedProcess.PollThreadId);
            // }

            // AD7Module ad7Module = new AD7Module(debuggedModule);
            AD7ModuleLoadEvent eventObject = new AD7ModuleLoadEvent(debuggedModule, true /* this is a module load */);

            // debuggedModule.Client = ad7Module;

            // The sample engine does not support binding breakpoints as modules load since the primary exe is the only module
            // symbols are loaded for. A production debugger will need to bind breakpoints when a new module is loaded.

            Send(eventObject, AD7ModuleLoadEvent.IID, null);
        }