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

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

            return(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(COM_HResults.S_OK);
        }
Beispiel #3
0
        int ICorDebugThread.EnumerateChains(out ICorDebugChainEnum ppChains)
        {
            Debug.Assert(!IsVirtualThread);

            ArrayList chains = new ArrayList();

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

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

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

            return(COM_HResults.S_OK);
        }
Beispiel #4
0
 int ICorDebug.EnumerateProcesses(out ICorDebugProcessEnum ppProcess)
 {
     ppProcess = new CorDebugEnum(_processes, typeof(ICorDebugProcess), typeof(ICorDebugProcessEnum));
     return(COM_HResults.S_OK);
 }
Beispiel #5
0
        int ICorDebugAssembly.EnumerateModules(out ICorDebugModuleEnum ppModules)
        {
            ppModules = new CorDebugEnum(this, typeof(ICorDebugModule), typeof(ICorDebugModuleEnum));

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

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

            return(COM_HResults.S_OK);
        }
 new public int EnumPorts(out IEnumDebugPorts2 ppEnum)
 {
     ppEnum = new CorDebugEnum(_ports, typeof(IDebugPort2), typeof(IEnumDebugPorts2));
     return(COM_HResults.S_OK);
 }
Beispiel #9
0
 int Microsoft.VisualStudio.Debugger.Interop.IDebugPort2.EnumProcesses(out IEnumDebugProcesses2 ppEnum)
 {
     RefreshProcessesAsync().Wait();
     ppEnum = new CorDebugEnum(_alProcesses, typeof(IDebugProcess2), typeof(IEnumDebugProcesses2));
     return(COM_HResults.S_OK);
 }