Esempio n. 1
0
        private void SendModuleLoaded(AD7Module ad7Module)
        {
            AD7ModuleLoadEvent eventObject = new AD7ModuleLoadEvent(ad7Module, true /* this is a module load */);

            // TODO: Bind breakpoints when the module loads

            Send(eventObject, AD7ModuleLoadEvent.IID, null);
        }
Esempio n. 2
0
 private void OnModuleLoaded(object sender, ModuleLoadedEventArgs e)
 {
     lock (_syncLock) {
         var adModule = _modules[e.Module] = new AD7Module(e.Module);
         if (_programCreated)
         {
             SendModuleLoaded(adModule);
         }
         else
         {
             _startModule = adModule;
         }
     }
 }
Esempio n. 3
0
        private void SendLoadComplete(AD7Thread thread)
        {
            Debug.WriteLine("Sending load complete" + GetHashCode());
            Send(new AD7LoadCompleteEvent(), AD7LoadCompleteEvent.IID, thread);

            if (_startModule != null)
            {
                SendModuleLoaded(_startModule);
                _startModule = null;
            }
            if (_startThread != null)
            {
                SendThreadStart(_startThread);
                _startThread = null;
            }
            _processLoadedThread = null;
            _loadComplete.Set();
        }
Esempio n. 4
0
        // EnumModules is called by the debugger when it needs to enumerate the modules in the program.
        public int EnumModules(out IEnumDebugModules2 ppEnum)
        {
            AssertMainThread();


            AD7Module[] moduleObjects = new AD7Module[_modules.Count];
            int         i             = 0;

            foreach (var keyValue in _modules)
            {
                var module   = keyValue.Key;
                var adModule = keyValue.Value;

                moduleObjects[i++] = adModule;
            }

            ppEnum = new AD7ModuleEnum(moduleObjects);

            return(VSConstants.S_OK);
        }
Esempio n. 5
0
        // EnumModules is called by the debugger when it needs to enumerate the modules in the program.
        public int EnumModules(out IEnumDebugModules2 ppEnum)
        {
            if (_mixedMode) {
                ppEnum = null;
                return VSConstants.E_NOTIMPL;
            }

            AssertMainThread();

            AD7Module[] moduleObjects = new AD7Module[_modules.Count];
            int i = 0;
            foreach (var keyValue in _modules) {
                var module = keyValue.Key;
                var adModule = keyValue.Value;

                moduleObjects[i++] = adModule;
            }

            ppEnum = new AD7ModuleEnum(moduleObjects);

            return VSConstants.S_OK;
        }
Esempio n. 6
0
        private void SendModuleLoaded(AD7Module ad7Module)
        {
            AD7ModuleLoadEvent eventObject = new AD7ModuleLoadEvent(ad7Module, true /* this is a module load */);

            // TODO: Bind breakpoints when the module loads

            Send(eventObject, AD7ModuleLoadEvent.IID, null);
        }
Esempio n. 7
0
        private void SendLoadComplete(AD7Thread thread)
        {
            Debug.WriteLine("Sending load complete " + GetHashCode());

            if (_startModule != null) {
                SendModuleLoaded(_startModule);
                _startModule = null;
            }
            if (_startThread != null) {
                SendThreadStart(_startThread);
                _startThread = null;
            }

            var attached = EngineAttached;
            if (attached != null) {
                attached(this, new AD7EngineEventArgs(this));
            }

            Send(new AD7LoadCompleteEvent(), AD7LoadCompleteEvent.IID, thread);

            _processLoadedThread = null;
            _loadComplete.Set();

            StartWebBrowser();
        }
Esempio n. 8
0
 private void OnModuleLoaded(object sender, ModuleLoadedEventArgs e)
 {
     lock (_syncLock) {
         var adModule = _modules[e.Module] = new AD7Module(e.Module);
         if (_programCreated) {
             SendModuleLoaded(adModule);
         } else {
             _startModule = adModule;
         }
     }
 }
Esempio n. 9
0
 public AD7ModuleLoadEvent(AD7Module module, bool fLoad)
 {
     m_module = module;
     m_fLoad  = fLoad;
 }
Esempio n. 10
0
 public AD7ModuleLoadEvent(AD7Module module, bool fLoad) {
     m_module = module;
     m_fLoad = fLoad;
 }