private void SendLoadComplete(AD7Thread thread) { Debug.WriteLine("Sending load complete" + GetHashCode()); AD7ProgramCreateEvent.Send(this); Send(new AD7LoadCompleteEvent(), AD7LoadCompleteEvent.IID, thread); if (_startModule != null) { SendModuleLoaded(_startModule); _startModule = null; } if (_startThread != null) { SendThreadStart(_startThread); _startThread = null; } _processLoadedThread = null; EventHandler <AD7EngineEventArgs> attached = EngineAttached; if (attached != null) { attached(this, new AD7EngineEventArgs(this)); } }
private void SendModuleLoaded(AD7Module ad7Module) { var eventObject = new AD7ModuleLoadEvent(ad7Module, true /* this is a module load */); // TODO: Bind breakpoints when the module loads Send(eventObject, AD7ModuleLoadEvent.IID, null); }
private void OnModuleLoaded(object sender, ModuleLoadedEventArgs e) { lock (_syncLock) { AD7Module adModule = _modules[e.Script] = new AD7Module(e.Script); if (_programCreated) { SendModuleLoaded(adModule); } else { _startModule = adModule; } } }
// EnumModules is called by the debugger when it needs to enumerate the modules in the program. public int EnumModules(out IEnumDebugModules2 ppEnum) { var moduleObjects = new AD7Module[_modules.Count]; int i = 0; foreach (var keyValue in _modules) { AD7Module adModule = keyValue.Value; moduleObjects[i++] = adModule; } ppEnum = new AD7ModuleEnum(moduleObjects); return(VSConstants.S_OK); }
public AD7ModuleLoadEvent(AD7Module module, bool fLoad) { m_module = module; m_fLoad = fLoad; }
// EnumModules is called by the debugger when it needs to enumerate the modules in the program. public int EnumModules(out IEnumDebugModules2 ppEnum) { var moduleObjects = new AD7Module[_modules.Count]; int i = 0; foreach (var keyValue in _modules) { AD7Module adModule = keyValue.Value; moduleObjects[i++] = adModule; } ppEnum = new AD7ModuleEnum(moduleObjects); return VSConstants.S_OK; }
private void SendLoadComplete(AD7Thread thread) { Debug.WriteLine("Sending load complete" + GetHashCode()); AD7ProgramCreateEvent.Send(this); Send(new AD7LoadCompleteEvent(), AD7LoadCompleteEvent.IID, thread); if (_startModule != null) { SendModuleLoaded(_startModule); _startModule = null; } if (_startThread != null) { SendThreadStart(_startThread); _startThread = null; } _processLoadedThread = null; EventHandler<AD7EngineEventArgs> attached = EngineAttached; if (attached != null) { attached(this, new AD7EngineEventArgs(this)); } }