public override bool TryGetNativeCode(DbgRuntime runtime, DbgCodeLocation location, DbgNativeCodeOptions options, out GetNativeCodeResult result)
        {
            if (runtime == null)
            {
                throw new ArgumentNullException(nameof(runtime));
            }
            if (location == null)
            {
                throw new ArgumentNullException(nameof(location));
            }

            foreach (var provider in GetProviders(runtime))
            {
                if (provider.TryGetNativeCode(runtime, location, options, out result))
                {
                    return(true);
                }
            }

            result = default;
            return(false);
        }
        public override bool TryGetNativeCode(DbgStackFrame frame, DbgNativeCodeOptions options, out GetNativeCodeResult result)
        {
            if (frame == null)
            {
                throw new ArgumentNullException(nameof(frame));
            }

            foreach (var provider in GetProviders(frame.Runtime))
            {
                if (provider.TryGetNativeCode(frame, options, out result))
                {
                    return(true);
                }
            }

            result = default;
            return(false);
        }
        public override bool TryGetNativeCode(DbgBoundCodeBreakpoint boundBreakpoint, DbgNativeCodeOptions options, out GetNativeCodeResult result)
        {
            if (boundBreakpoint == null)
            {
                throw new ArgumentNullException(nameof(boundBreakpoint));
            }

            foreach (var provider in GetProviders(boundBreakpoint.Runtime))
            {
                if (provider.TryGetNativeCode(boundBreakpoint, options, out result))
                {
                    return(true);
                }
            }

            result = default;
            return(false);
        }
        void Show(GetNativeCodeResult result, string title)
        {
            var content = disassemblyContentProviderFactory.Value.Create(result.Code, GetDisassemblyContentFormatterOptions(), result.SymbolResolver, result.Header);

            disassemblyViewerService.Value.Show(content, title);
        }