示例#1
0
        public override void Attach(ShowAttachToProcessDialogOptions options)
        {
            var attachOptions = Show(options);

            foreach (var o in attachOptions)
            {
                dbgManager.Value.Start(o);
            }
        }
示例#2
0
            public override void Execute(IMenuItemContext context)
            {
                var options = new ShowAttachToProcessDialogOptions {
                    ProcessType   = "Unity",
                    ProviderNames = new[] {
                        PredefinedAttachProgramOptionsProviderNames.UnityEditor,
                        PredefinedAttachProgramOptionsProviderNames.UnityPlayer,
                    },
                    Message  = dnSpy_Debugger_DotNet_Mono_Resources.AttachToUnityProcess_DebugBuildsOnlyMessage,
                    InfoLink = new AttachToProcessLinkInfo {
                        ToolTipMessage = DebuggingUnityGamesHelper.DebuggingUnityGamesText,
                        Url            = DebuggingUnityGamesHelper.DebuggingUnityGamesUrl,
                    },
                };

                showAttachToProcessDialog.Value.Attach(options);
            }
示例#3
0
        public override AttachToProgramOptions[] Show(ShowAttachToProcessDialogOptions options)
        {
            AttachToProcessVM vm = null;

            try {
                var dlg = new AttachToProcessDlg();
                vm = new AttachToProcessVM(options, uiDispatcher.Value, dbgManager.Value, debuggerSettings.Value, programFormatterProvider.Value, classificationFormatMapService, textElementProvider, attachProgramOptionsAggregatorFactory.Value, () => SearchHelp(vm, dlg));
                dlg.DataContext = vm;
                dlg.Owner       = appWindow.MainWindow;
                var res = dlg.ShowDialog();
                if (res != true)
                {
                    return(Array.Empty <AttachToProgramOptions>());
                }
                return(vm.SelectedItems.Select(a => a.AttachProgramOptions.GetOptions()).ToArray());
            }
            finally {
                vm?.Dispose();
            }
        }
示例#4
0
 /// <summary>
 /// Shows the dialog box and attaches to the selected processes
 /// </summary>
 /// <param name="options">Options or null to use the default options</param>
 public abstract void Attach(ShowAttachToProcessDialogOptions options = null);
示例#5
0
 /// <summary>
 /// Shows the dialog box and returns the selected processes or an empty list
 /// </summary>
 /// <param name="options">Options or null to use the default options</param>
 /// <returns></returns>
 public abstract AttachToProgramOptions[] Show(ShowAttachToProcessDialogOptions options = null);