Beispiel #1
0
        public void DoForEachAssembly(AssemblyAction assemblyAction)
        {
            List <IAppDomainInfo> theDomains = new List <IAppDomainInfo>();

            this.DoForEachAppDomain(
                delegate(IAppDomainInfo adi)
            {
                theDomains.Add(adi);
            }
                );

            _WP.Commands.Debugging_Resolve_Assembly[] reply = m_eng.ResolveAllAssemblies();
            if (reply != null)
            {
                foreach (_WP.Commands.Debugging_Resolve_Assembly resolvedAssm in reply)
                {
                    AssemblyInfoFromResolveAssembly ai = new AssemblyInfoFromResolveAssembly(resolvedAssm);

                    foreach (IAppDomainInfo adi in theDomains)
                    {
                        if (Array.IndexOf <uint>(adi.AssemblyIndicies, ai.Index) != -1)
                        {
                            ai.AddDomain(adi);
                        }
                    }

                    assemblyAction(ai);
                }
            }
        }
Beispiel #2
0
        private async Task GetAssembliesAsync()
        {
            List <Commands.Debugging_Resolve_Assembly> reply = await Dbg.ResolveAllAssembliesAsync();

            if (reply != null)
            {
                foreach (Commands.Debugging_Resolve_Assembly resolvedAssm in reply)
                {
                    AssemblyInfoFromResolveAssembly ai = new AssemblyInfoFromResolveAssembly(resolvedAssm);

                    foreach (IAppDomainInfo adi in m_Domains)
                    {
                        if (Array.IndexOf <uint>(adi.AssemblyIndices, ai.Index) != -1)
                        {
                            ai.AddDomain(adi);
                        }
                    }

                    m_AssemblyInfos.Add(ai);
                }
            }
        }