Esempio n. 1
0
        int ICorDebugILFrame.EnumerateArguments(out ICorDebugValueEnum ppValueEnum)
        {
#if ALL_VALUES
            ppValueEnum = new CorDebugEnum(this.Locals, typeof(ICorDebugValue), typeof(ICorDebugValueEnum));

            return(Utility.COM_HResults.S_OK);
#else
            ppValueEnum = null;

            return(Utility.COM_HResults.E_NOTIMPL);
#endif
        }
        int ICorDebugChain.EnumerateFrames(out ICorDebugFrameEnum ppFrames)
        {
            //Reverse the order for the enumerator
            CorDebugFrame[] frames = new CorDebugFrame[m_frames.Length];

            int iFrameSrc = m_frames.Length - 1;

            for (int iFrameDst = 0; iFrameDst < m_frames.Length; iFrameDst++)
            {
                frames[iFrameDst] = m_frames[iFrameSrc];
                iFrameSrc--;
            }

            ppFrames = new CorDebugEnum(frames, typeof(ICorDebugFrame), typeof(ICorDebugFrameEnum));

            return(Utility.COM_HResults.S_OK);
        }
        int ICorDebugThread.EnumerateChains(out ICorDebugChainEnum ppChains)
        {
            Debug.Assert(!IsVirtualThread);

            ArrayList chains = new ArrayList();

            for (CorDebugThread thread = this.GetLastCorDebugThread(); thread != null; thread = thread.m_threadPrevious)
            {
                CorDebugChain chain = thread.Chain;

                if (chain != null)
                {
                    chains.Add(chain);
                }
            }

            ppChains = new CorDebugEnum(chains, typeof(ICorDebugChain), typeof(ICorDebugChainEnum));

            return(Utility.COM_HResults.S_OK);
        }
        int ICorDebugAssembly.EnumerateModules( out ICorDebugModuleEnum ppModules )
        {
            ppModules = new CorDebugEnum( this, typeof( ICorDebugModule ), typeof( ICorDebugModuleEnum ) );

            return Utility.COM_HResults.S_OK;            
        }
 new public int EnumPorts(out IEnumDebugPorts2 ppEnum)
 {
     ppEnum = new CorDebugEnum(m_ports, typeof(IDebugPort2), typeof(IEnumDebugPorts2));
     return Utility.COM_HResults.S_OK;
 }
        int Microsoft.VisualStudio.Debugger.Interop.IDebugProcess2.EnumPrograms(out IEnumDebugPrograms2 ppEnum)
        {
            ArrayList appDomains = m_appDomains;

            if(!this.IsAttachedToEngine)
            {
                //need to fake this in order to get the Attach Dialog to work.
                DebugAssert( appDomains == null );
                appDomains = new ArrayList();
                appDomains.Add( new CorDebugAppDomain( this, 1 ) );
            }

            ppEnum = new CorDebugEnum( appDomains, typeof( IDebugProgram2 ), typeof( IEnumDebugPrograms2 ) );
            return Utility.COM_HResults.S_OK;
        }
        int ICorDebugProcess.EnumerateAppDomains(out ICorDebugAppDomainEnum ppAppDomains)
        {
            ppAppDomains = new CorDebugEnum(m_appDomains, typeof(ICorDebugAppDomain), typeof(ICorDebugAppDomainEnum));

            return Utility.COM_HResults.S_OK;
        }
Esempio n. 8
0
        int ICorDebugAppDomain.EnumerateSteppers(out ICorDebugStepperEnum ppSteppers)
        {
            ppSteppers = new CorDebugEnum(this.Process.GetBreakpoints(typeof(CorDebugStepper), this), typeof(ICorDebugBreakpoint), typeof(ICorDebugBreakpointEnum));

            return(Utility.COM_HResults.S_OK);
        }
        int ICorDebugAppDomain.EnumerateSteppers( out ICorDebugStepperEnum ppSteppers )
        {            
            ppSteppers = new CorDebugEnum(this.Process.GetBreakpoints(typeof(CorDebugStepper), this), typeof(ICorDebugBreakpoint), typeof(ICorDebugBreakpointEnum));

            return Utility.COM_HResults.S_OK;
        }
Esempio n. 10
0
        int ICorDebugChain. EnumerateFrames( out ICorDebugFrameEnum ppFrames )
        {
            //Reverse the order for the enumerator
            CorDebugFrame[] frames = new CorDebugFrame[m_frames.Length];

            int iFrameSrc = m_frames.Length - 1;
            for(int iFrameDst = 0; iFrameDst < m_frames.Length; iFrameDst++)
            {
                frames[iFrameDst] = m_frames[iFrameSrc];
                iFrameSrc--;
            }

            ppFrames = new CorDebugEnum( frames, typeof( ICorDebugFrame ), typeof( ICorDebugFrameEnum ) );

            return Utility.COM_HResults.S_OK;
        }
Esempio n. 11
0
        int ICorDebugILFrame.EnumerateArguments( out ICorDebugValueEnum ppValueEnum )
        {
#if ALL_VALUES
            ppValueEnum = new CorDebugEnum(this.Locals, typeof(ICorDebugValue), typeof(ICorDebugValueEnum));

            return Utility.COM_HResults.S_OK;     
#else
            ppValueEnum = null;

            return Utility.COM_HResults.E_NOTIMPL;
#endif                   
        }
Esempio n. 12
0
        int ICorDebugThread.EnumerateChains(out ICorDebugChainEnum ppChains)
        {
            Debug.Assert(!IsVirtualThread);

            ArrayList chains = new ArrayList();

            for (CorDebugThread thread = this.GetLastCorDebugThread(); thread != null; thread = thread.m_threadPrevious)
            {
                CorDebugChain chain = thread.Chain;

                if (chain != null)
                {
                    chains.Add(chain);
                }
            }

            ppChains = new CorDebugEnum(chains, typeof(ICorDebugChain), typeof(ICorDebugChainEnum));

            return Utility.COM_HResults.S_OK;
        }
Esempio n. 13
0
 int ICorDebug.EnumerateProcesses(out ICorDebugProcessEnum ppProcess)
 {
     ppProcess = new CorDebugEnum(m_processes, typeof(ICorDebugProcess), typeof(ICorDebugProcessEnum));
     return(Utility.COM_HResults.S_OK);
 }
 new public int EnumPorts(out IEnumDebugPorts2 ppEnum)
 {
     ppEnum = new CorDebugEnum(m_ports, typeof(IDebugPort2), typeof(IEnumDebugPorts2));
     return(Utility.COM_HResults.S_OK);
 }
Esempio n. 15
0
 int ICorDebug.EnumerateProcesses( out ICorDebugProcessEnum ppProcess )
 {
     ppProcess = new CorDebugEnum(m_processes, typeof(ICorDebugProcess), typeof(ICorDebugProcessEnum));
     return Utility.COM_HResults.S_OK;
 }
Esempio n. 16
0
 int Microsoft.VisualStudio.Debugger.Interop.IDebugPort2.EnumProcesses(out IEnumDebugProcesses2 ppEnum)
 {
     RefreshProcesses();
     ppEnum = new CorDebugEnum(m_alProcesses, typeof(IDebugProcess2), typeof(IEnumDebugProcesses2));
     return(Utility.COM_HResults.S_OK);
 }
Esempio n. 17
0
        int ICorDebugAssembly.EnumerateModules(out ICorDebugModuleEnum ppModules)
        {
            ppModules = new CorDebugEnum(this, typeof(ICorDebugModule), typeof(ICorDebugModuleEnum));

            return(Utility.COM_HResults.S_OK);
        }
        int ICorDebugAppDomain.EnumerateAssemblies( out ICorDebugAssemblyEnum ppAssemblies )
        {
            ppAssemblies = new CorDebugEnum(m_assemblies, typeof(ICorDebugAssembly), typeof(ICorDebugAssemblyEnum));

            return Utility.COM_HResults.S_OK;
        }
        int ICorDebugController.EnumerateThreads(out ICorDebugThreadEnum ppThreads)
        {
            ppThreads = new CorDebugEnum(GetAllNonVirtualThreads(), typeof(ICorDebugThread), typeof(ICorDebugThreadEnum));

            return Utility.COM_HResults.S_OK;
        }
Esempio n. 20
0
 int Microsoft.VisualStudio.Debugger.Interop.IDebugPort2.EnumProcesses(out IEnumDebugProcesses2 ppEnum)
 {
     RefreshProcesses();
     ppEnum = new CorDebugEnum(m_alProcesses, typeof(IDebugProcess2), typeof(IEnumDebugProcesses2));
     return Utility.COM_HResults.S_OK;
 }
Esempio n. 21
0
        int ICorDebugAppDomain.EnumerateAssemblies(out ICorDebugAssemblyEnum ppAssemblies)
        {
            ppAssemblies = new CorDebugEnum(m_assemblies, typeof(ICorDebugAssembly), typeof(ICorDebugAssemblyEnum));

            return(Utility.COM_HResults.S_OK);
        }