Ejemplo n.º 1
0
        private void AttachToSelectedProcess()
        {
            Microsoft.VisualStudio.Shell.ThreadHelper.ThrowIfNotOnUIThread();
            var  selectedRows = processesGridView.SelectedRows;
            uint processId    = 0;
            var  program      = "";

            foreach (var row in selectedRows)
            {
                var     datagridRow = (DataGridViewRow)row;
                dynamic process     = datagridRow.DataBoundItem;
                processId = process.ProcessId;
                program   = process.CommandLine;
            }

            if (processId <= 0)
            {
                return;
            }

            try
            {
                AttachService.AttachToProcess(DTE, processId, program);
                Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show("Failed to attach to process: " + ex.ToString());
            }
        }