Пример #1
0
        private async Task GetAppDomainsAsync()
        {
            if (Dbg.Capabilities.AppDomains)
            {
                Commands.Debugging_TypeSys_AppDomains.Reply domainsReply = await Dbg.GetAppDomainsAsync();

                if (domainsReply != null)
                {
                    foreach (uint id in domainsReply.m_data)
                    {
                        Commands.Debugging_Resolve_AppDomain.Reply reply = await Dbg.ResolveAppDomainAsync(id);

                        if (reply != null)
                        {
                            m_Domains.Add(new AppDomainInfo(id, reply));
                        }
                    }
                }
            }
        }
Пример #2
0
        private async Task GetAppDomainsAsync(CancellationToken cancellationToken)
        {
            if (Dbg.Capabilities.AppDomains)
            {
                Commands.Debugging_TypeSys_AppDomains.Reply domainsReply = await Dbg.GetAppDomainsAsync();

                // TODO add cancellation token code

                if (domainsReply != null)
                {
                    foreach (uint id in domainsReply.Data)
                    {
                        Commands.Debugging_Resolve_AppDomain.Reply reply = await Dbg.ResolveAppDomainAsync(id);

                        // TODO add cancellation token code
                        if (reply != null)
                        {
                            m_Domains.Add(new AppDomainInfo(id, reply));
                        }
                    }
                }
            }
        }
        private bool GetAppDomains()
        {
            if (Dbg.Capabilities.AppDomains)
            {
                Commands.Debugging_TypeSys_AppDomains.Reply domainsReply = Dbg.GetAppDomains();
                // TODO add cancellation token code

                if (domainsReply != null)
                {
                    foreach (uint id in domainsReply.Data)
                    {
                        Commands.Debugging_Resolve_AppDomain.Reply reply = Dbg.ResolveAppDomain(id);
                        // TODO add cancellation token code
                        if (reply != null)
                        {
                            m_Domains.Add(new AppDomainInfo(id, reply));
                        }
                    }

                    // sanity check
                    if (m_Domains.Count == domainsReply.Data.Length)
                    {
                        // we have all the domains listed
                        return(true);
                    }
                }

                // default to failure
                return(false);
            }
            else
            {
                // no app domains, so we are good here
                return(true);
            }
        }