////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    public int EnumModules (out IEnumDebugModules2 ppEnum)
    {
      // 
      // Enumerates the modules that this program has loaded and is executing.
      // 

      LoggingUtils.PrintFunction ();

      try
      {
        List<IDebugModule2> modules = new List<IDebugModule2> ();

        foreach (DebuggeeModule module in m_debugModules.Values)
        {
          modules.Add (module as IDebugModule2);
        }

        ppEnum = new DebuggeeModule.Enumerator (modules);

        if (ppEnum == null)
        {
          throw new InvalidOperationException ();
        }

        return Constants.S_OK;
      }
      catch (Exception e)
      {
        LoggingUtils.HandleException (e);

        ppEnum = null;

        return Constants.E_FAIL;
      }
    }
Ejemplo n.º 2
0
        public int EnumModules(out IEnumDebugModules2 ppEnum)
        {
            // EnumModules is called by the debugger when it needs to enumerate the modules in the program.

            ppEnum = new AD7ModuleEnum(new[] { mModule });
            return(VSConstants.S_OK);
        }
Ejemplo n.º 3
0
 // Token: 0x06000177 RID: 375 RVA: 0x00005FC8 File Offset: 0x000041C8
 public int EnumModules(out IEnumDebugModules2 ppEnum)
 {
     AssemblyMirror[] assemblies = this.Session.VirtualMachine.RootDomain.GetAssemblies();
     ppEnum = new AD7ModuleEnum((from a in assemblies
                                 select new AD7Module(a, this.startInfo)).ToArray <AD7Module>());
     return(0);
 }
Ejemplo n.º 4
0
 /// <summary>
 /// Retrieves a list of the modules that this program has loaded and is executing.
 /// (http://msdn.microsoft.com/en-us/library/bb146980.aspx)
 /// </summary>
 /// <param name="ppEnum"> Returns an IEnumDebugModules2 object that contains a list of the modules. </param>
 /// <returns> VSConstants.S_OK. </returns>
 public int EnumModules(out IEnumDebugModules2 ppEnum)
 {
     // Setting ppEnum to null because we are not adding/working with this feature now. It was causing an error
     // when opening Threads Window and ppEnum = new AD7ModuleEnum(new[] { m_module }).
     ppEnum = null;
     return(VSConstants.S_OK);
 }
Ejemplo n.º 5
0
        public int EnumModules(out IEnumDebugModules2 ppEnum)
        {
            DebugHelper.TraceEnteringMethod();
            var assemblies = DebuggedProcess.GetLoadedAssemblies();

            ppEnum = new AD7ModuleEnum(assemblies);
            return(VSConstants.S_OK);
        }
Ejemplo n.º 6
0
        public int EnumModules(out IEnumDebugModules2 modulesEnum)
        {
            var sbModules = GetSbModules();

            _debugModuleCache.RemoveAllExcept(sbModules);
            var modules = sbModules.Select(m => _debugModuleCache.GetOrCreate(m, Self));

            modulesEnum = _moduleEnumFactory.Create(modules);
            return(VSConstants.S_OK);
        }
Ejemplo n.º 7
0
        // EnumModules is called by the debugger when it needs to enumerate the modules in the program.
        public int EnumModules(out IEnumDebugModules2 ppEnum)
        {
            DebuggedModule[] modules = _debuggedProcess.GetModules();

            AD7Module[] moduleObjects = modules.Select(backendModule => backendModule.Client as AD7Module)
                                        .Where(ad7Module => ad7Module != null) // Ignore any modules that we haven't quite sent the module load event for
                                        .ToArray();
            ppEnum = new Microsoft.MIDebugEngine.AD7ModuleEnum(moduleObjects);

            return(Constants.S_OK);
        }
        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

        public int EnumModules(out IEnumDebugModules2 ppEnum)
        {
            //
            // Enumerates the modules that this program has loaded and is executing.
            //

            LoggingUtils.PrintFunction();

            ppEnum = null;

            try
            {
                List <IDebugModule2> modules = new List <IDebugModule2> ();

                uint count;

                {
                    LoggingUtils.RequireOk(AttachedEngine.NativeDebugger.NativeProgram.EnumModules(out ppEnum));

                    LoggingUtils.RequireOk(ppEnum.GetCount(out count));

                    IDebugModule2 [] moduleArray = new IDebugModule2 [count];

                    LoggingUtils.RequireOk(ppEnum.Next(count, moduleArray, ref count));

                    modules.AddRange(moduleArray);
                }

                {
                    LoggingUtils.RequireOk(AttachedEngine.JavaDebugger.JavaProgram.EnumModules(out ppEnum));

                    LoggingUtils.RequireOk(ppEnum.GetCount(out count));

                    IDebugModule2 [] moduleArray = new IDebugModule2 [count];

                    LoggingUtils.RequireOk(ppEnum.Next(count, moduleArray, ref count));

                    modules.AddRange(moduleArray);
                }

                ppEnum = new DebuggeeModule.Enumerator(modules);

                return(Constants.S_OK);
            }
            catch (Exception e)
            {
                LoggingUtils.HandleException(e);

                return(Constants.E_FAIL);
            }
        }
Ejemplo n.º 9
0
        // EnumModules is called by the debugger when it needs to enumerate the modules in the program.
        public int EnumModules(out IEnumDebugModules2 ppEnum)
        {
            DebuggedModule[] modules = _debuggedProcess.GetModules();

            AD7Module[] moduleObjects = new AD7Module[modules.Length];
            for (int i = 0; i < modules.Length; i++)
            {
                moduleObjects[i] = new AD7Module(modules[i], _debuggedProcess);
            }

            ppEnum = new Microsoft.MIDebugEngine.AD7ModuleEnum(moduleObjects);

            return(Constants.S_OK);
        }
Ejemplo n.º 10
0
        // EnumModules is called by the debugger when it needs to enumerate the modules in the program.
        public int EnumModules(out IEnumDebugModules2 ppEnum)
        {
            //Debug.Assert(Worker.MainThreadId == Worker.CurrentThreadId);

            DebuggedModule[] modules = debuggedProcess.GetModules();

            AD7Module[] moduleObjects = new AD7Module[modules.Length];
            for (int i = 0; i < modules.Length; i++)
            {
                moduleObjects[i] = new AD7Module(modules[i]);
            }

            ppEnum = new VisualSquirrel.Debugger.Engine.AD7ModuleEnum(moduleObjects);

            return(EngineConstants.S_OK);
        }
Ejemplo n.º 11
0
        // 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);
        }
Ejemplo n.º 12
0
        // EnumModules is called by the debugger when it needs to enumerate the modules in the program.
        public int EnumModules(out IEnumDebugModules2 ppEnum)
        {
            Debug.Assert(Worker.MainThreadId == Worker.CurrentThreadId);

            DebuggedModule[] modules = m_debuggedProcess.GetModules();

            AD7Module[] moduleObjects = new AD7Module[modules.Length];
            for (int i = 0; i < modules.Length; i++)
            {
                moduleObjects[i] = new AD7Module(modules[i]);
            }

            ppEnum = new Microsoft.VisualStudio.Debugger.SampleEngine.AD7ModuleEnum(moduleObjects);

            return(Constants.S_OK);
        }
Ejemplo n.º 13
0
 public int EnumModules(out IEnumDebugModules2 ppEnum)
 {
     Log.Debug("Program: EnumModules");
     ppEnum = null;
     return VSConstants.E_NOTIMPL;
 }
 public int EnumModules(out IEnumDebugModules2 ppEnum)
 {
     // TODO: implement modules?
     ppEnum = new EnumDebugModules(Enumerable.Empty <IDebugModule2>());
     return(VSConstants.S_OK);
 }
Ejemplo n.º 15
0
 int IDebugProgram2.EnumModules(out IEnumDebugModules2 ppEnum)
 {
     Debug.WriteLine("AD7ProgramNode: Entering EnumModules");
     throw new NotImplementedException();
 }
Ejemplo n.º 16
0
 int IDebugProgram2.EnumModules(out IEnumDebugModules2 ppEnum)
 {
     throw new NotImplementedException();
 }
Ejemplo n.º 17
0
 int IDebugProgram3.EnumModules(out IEnumDebugModules2 ppEnum) {
     return IDebugProgram2.EnumModules(out ppEnum);
 }
Ejemplo n.º 18
0
 /// <summary>
 ///     EnumModules is called by the debugger when it needs to enumerate the modules in the program.
 /// </summary>
 /// <param name="ppEnum"></param>
 /// <returns>If successful, returns S_OK; otherwise, returns an error code.</returns>
 public int EnumModules(out IEnumDebugModules2 ppEnum)
 {
     ppEnum = new MonoModuleEnumerator(new[] { Program.Module });
     return(S_OK);
 }
Ejemplo n.º 19
0
 int Microsoft.VisualStudio.Debugger.Interop.IDebugProgram2.EnumModules(out IEnumDebugModules2 ppEnum)
 {
     ppEnum = null;
     return Utility.COM_HResults.S_OK;
 }
 int IDebugProgram2.EnumModules(out IEnumDebugModules2 ppEnum)
 {
   Debug.WriteLine("AD7ProgramNode: Entering EnumModules");
   throw new NotImplementedException();
 }
Ejemplo n.º 21
0
 // EnumModules is called by the debugger when it needs to enumerate the modules in the program.
 public int EnumModules(out IEnumDebugModules2 ppEnum)
 {
     //Debug.Assert(Worker.MainThreadId == Worker.CurrentThreadId);
     ppEnum = new AD7ModuleEnum(m_debuggedProcess.GetModules().Select(m => new AD7Module(m)).ToArray());
     return Constants.S_OK;
 }
Ejemplo n.º 22
0
        // 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;
        }
Ejemplo n.º 23
0
 public int EnumModules(out IEnumDebugModules2 ppEnum)
 {
     DLog.Debug(DContext.VSDebuggerComCall, "IDebugProgram2.EnumModules");
     ppEnum = new ModuleEnum(MainModule);
     return VSConstants.S_OK;
 }
 int Microsoft.VisualStudio.Debugger.Interop.IDebugProgram2.EnumModules(out IEnumDebugModules2 ppEnum)
 {
     ppEnum = null;
     return(COM_HResults.S_OK);
 }
Ejemplo n.º 25
0
 public int /*IDebugProgram3*/ EnumModules(out IEnumDebugModules2 ppEnum)
 {
     ppEnum = ModuleEnum.Create(this);
     return(VSConstants.S_OK);
 }
Ejemplo n.º 26
0
        public int EnumModules(out IEnumDebugModules2 ppEnum)
        {
            ppEnum = new MonoModuleEnumerator(new IDebugModule2[] { _mainModule });

            return(S_OK);
        }
Ejemplo n.º 27
0
        // EnumModules is called by the debugger when it needs to enumerate the modules in the program.
        public int EnumModules(out IEnumDebugModules2 ppEnum) {
            DebugWriteCommand("EnumModules");
            AssertMainThread();

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

            ppEnum = new AD7ModuleEnum(moduleObjects);

            return VSConstants.S_OK;
        }
Ejemplo n.º 28
0
 public int EnumModules(out IEnumDebugModules2 ppEnum)
 {
     throw new NotImplementedException();
 }
Ejemplo n.º 29
0
 /// <summary>
 /// Retrieves a list of the modules that this program has loaded and is executing. 
 /// (http://msdn.microsoft.com/en-us/library/bb146980.aspx)
 /// </summary>
 /// <param name="ppEnum"> Returns an IEnumDebugModules2 object that contains a list of the modules. </param>
 /// <returns> VSConstants.S_OK. </returns>
 public int EnumModules(out IEnumDebugModules2 ppEnum)
 {
     ppEnum = new AD7ModuleEnum(new[] { m_module });
     return VSConstants.S_OK;
 }
Ejemplo n.º 30
0
 int IDebugProgram2.EnumModules(out IEnumDebugModules2 ppEnum) {
     // TODO
     ppEnum = null;
     return VSConstants.E_NOTIMPL;
 }
Ejemplo n.º 31
0
 public int EnumModules(out IEnumDebugModules2 ppEnum)
 {
     Log.Debug("Program: EnumModules");
     ppEnum = null;
     return(VSConstants.E_NOTIMPL);
 }
Ejemplo n.º 32
0
 int IDebugProgram3.EnumModules(out IEnumDebugModules2 ppEnum)
 {
     throw new NotImplementedException();
 }
Ejemplo n.º 33
0
 // EnumModules is called by the debugger when it needs to enumerate the modules in the program.
 public int EnumModules(out IEnumDebugModules2 ppEnum)
 {
     ppEnum = null;
     return VSConstants.E_NOTIMPL;
 }
Ejemplo n.º 34
0
 public int EnumModules(out IEnumDebugModules2 ppEnum)
 {
     ppEnum = null;
     return(VSConstants.E_NOTIMPL);
 }
Ejemplo n.º 35
0
 public int EnumModules(out IEnumDebugModules2 ppEnum) {
     throw new NotImplementedException();
 }
Ejemplo n.º 36
0
        // EnumModules is called by the debugger when it needs to enumerate the modules in the program.
        public int EnumModules(out IEnumDebugModules2 ppEnum)
        {
            DebuggedModule[] modules = _debuggedProcess.GetModules();

            AD7Module[] moduleObjects = new AD7Module[modules.Length];
            for (int i = 0; i < modules.Length; i++)
            {
                moduleObjects[i] = new AD7Module(modules[i], _debuggedProcess);
            }

            ppEnum = new Microsoft.MIDebugEngine.AD7ModuleEnum(moduleObjects);

            return Constants.S_OK;
        }
Ejemplo n.º 37
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;
        }
Ejemplo n.º 38
0
        // EnumModules is called by the debugger when it needs to enumerate the modules in the program.
        public int EnumModules(out IEnumDebugModules2 ppEnum)
        {
            Debug.Assert(Worker.MainThreadId == Worker.CurrentThreadId);

            DebuggedModule[] modules = m_debuggedProcess.GetModules();

            AD7Module[] moduleObjects = new AD7Module[modules.Length];
            for (int i = 0; i < modules.Length; i++)
            {
                moduleObjects[i] = new AD7Module(modules[i]);
            }

            ppEnum = new Microsoft.VisualStudio.Debugger.SampleEngine.AD7ModuleEnum(moduleObjects);

            return Constants.S_OK;
        }
Ejemplo n.º 39
0
 int IDebugProgram2.EnumModules(out IEnumDebugModules2 ppEnum)
 {
     ppEnum = new MonoModuleEnum(new[] { new MonoModule(this) });
     return(VSConstants.S_OK);
 }
Ejemplo n.º 40
0
 public int EnumModules(out IEnumDebugModules2 ppEnum)
 {
     DLog.Debug(DContext.VSDebuggerComCall, "IDebugProgram2.EnumModules");
     ppEnum = new ModuleEnum(MainModule);
     return(VSConstants.S_OK);
 }
Ejemplo n.º 41
0
 /// <summary>
 /// Retrieves a list of the modules that this program has loaded and is executing. 
 /// (http://msdn.microsoft.com/en-us/library/bb146980.aspx)
 /// </summary>
 /// <param name="ppEnum"> Returns an IEnumDebugModules2 object that contains a list of the modules. </param>
 /// <returns> VSConstants.S_OK. </returns>
 public int EnumModules(out IEnumDebugModules2 ppEnum)
 {
     // Setting ppEnum to null because we are not adding/working with this feature now. It was causing an error
     // when opening Threads Window and ppEnum = new AD7ModuleEnum(new[] { m_module }).
     ppEnum = null;
     return VSConstants.S_OK;
 }
Ejemplo n.º 42
0
 /// <summary>
 /// Retrieves a list of the modules that this program has loaded and is executing.
 /// </summary>
 /// <param name="ppEnum">Returns an IEnumDebugModules2 object that contains a list of the modules.</param>
 /// <returns>If successful, returns S_OK; otherwise, returns an error code.</returns>
 /// <remarks>A module is a DLL or assembly and is typically listed in the Modules debug window.</remarks>
 public virtual int EnumModules(out IEnumDebugModules2 ppEnum)
 {
     Logger.Debug(string.Empty);
     ppEnum = null;
     return(VSConstants.E_NOTIMPL);
 }
Ejemplo n.º 43
0
 public int EnumModules(out IEnumDebugModules2 ppEnum)
 {
     // TODO: implement modules?
     ppEnum = new EnumDebugModules(Enumerable.Empty<IDebugModule2>());
     return VSConstants.S_OK;
 }
Ejemplo n.º 44
0
 int IDebugProgram2.EnumModules(out IEnumDebugModules2 ppEnum)
 {
     // TODO
     ppEnum = null;
     return(VSConstants.E_NOTIMPL);
 }
Ejemplo n.º 45
0
 int IDebugProgram3.EnumModules(out IEnumDebugModules2 ppEnum)
 {
     return(IDebugProgram2.EnumModules(out ppEnum));
 }
Ejemplo n.º 46
0
 /// <summary>
 /// Retrieves a list of the modules that this program has loaded and is executing.
 /// </summary>
 /// <param name="ppEnum">Returns an IEnumDebugModules2 object that contains a list of the modules.</param>
 /// <returns>If successful, returns S_OK; otherwise, returns an error code.</returns>
 /// <remarks>A module is a DLL or assembly and is typically listed in the Modules debug window.</remarks>
 public virtual int EnumModules( out IEnumDebugModules2 ppEnum )
 {
     Logger.Debug( string.Empty );
     ppEnum = null;
     return VSConstants.E_NOTIMPL;
 }