diff -r 1eb192be3ff4 -r d40ec9228b9c debuggercdi/com.nokia.cdt.debug.launch/src/com/nokia/cdt/internal/debug/launch/AttachLaunchDelegate.java --- a/debuggercdi/com.nokia.cdt.debug.launch/src/com/nokia/cdt/internal/debug/launch/AttachLaunchDelegate.java Fri Jul 31 10:46:14 2009 -0500 +++ b/debuggercdi/com.nokia.cdt.debug.launch/src/com/nokia/cdt/internal/debug/launch/AttachLaunchDelegate.java Tue Aug 11 10:38:58 2009 -0500 @@ -131,7 +131,13 @@ // Ask user to choose a process String defaultProcessName = exeFile.getPath().removeFileExtension().lastSegment(); - OSProcess attachTarget = chooseProcessTarget(processesOnTarget, defaultProcessName); + OSProcess attachTarget = null; + String choosenProcessTarget = config.getAttribute(SettingsData.AttachToProcessDialog_Selection, ""); + if (choosenProcessTarget.length() > 0) { + attachTarget = chooseProcessTargetNoUI(processesOnTarget, choosenProcessTarget); + } else { + attachTarget = chooseProcessTarget(processesOnTarget, defaultProcessName); + } if (attachTarget == null) { this.cancel(LaunchMessages.getString("LocalAttachLaunchDelegate.No_Process_ID_selected"), 0); //$NON-NLS-1$ @@ -195,4 +201,17 @@ return attachTarget; } + + private OSProcess chooseProcessTargetNoUI(final OSProcess[] processesOnTarget, final String choosenProcessName) { + attachTarget = null; + + for (OSProcess process : processesOnTarget) { + if (process.parseProcess().getProcessName().equals(choosenProcessName)) { + attachTarget = process; + break; + } + } + + return attachTarget; + } }