From a2570cdd212ffeb87cddeb691b3562e5f2b3841f Mon Sep 17 00:00:00 2001 From: Marc Khouzam Date: Thu, 20 Dec 2012 21:51:38 -0500 Subject: [PATCH] Bug 396386 - Cannot attach to process when prompted for a pid Change-Id: I7e74047f6b76013eb24edd3ec6fa569f104f352e Reviewed-on: https://git.eclipse.org/r/9353 Reviewed-by: Marc Khouzam IP-Clean: Marc Khouzam Tested-by: Marc Khouzam --- .../cdt/dsf/gdb/internal/ui/actions/GdbConnectCommand.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/dsf-gdb/org.eclipse.cdt.dsf.gdb.ui/src/org/eclipse/cdt/dsf/gdb/internal/ui/actions/GdbConnectCommand.java b/dsf-gdb/org.eclipse.cdt.dsf.gdb.ui/src/org/eclipse/cdt/dsf/gdb/internal/ui/actions/GdbConnectCommand.java index 20cba930be0..98486c1e371 100644 --- a/dsf-gdb/org.eclipse.cdt.dsf.gdb.ui/src/org/eclipse/cdt/dsf/gdb/internal/ui/actions/GdbConnectCommand.java +++ b/dsf-gdb/org.eclipse.cdt.dsf.gdb.ui/src/org/eclipse/cdt/dsf/gdb/internal/ui/actions/GdbConnectCommand.java @@ -165,6 +165,9 @@ public class GdbConnectCommand implements IConnect { fRequestMonitor.cancel(); } else if (result instanceof IProcessExtendedInfo[] || result instanceof String) { fRequestMonitor.setData(result); + } else if (result instanceof Integer) { + // This is the case where the user typed in a pid number directly + fRequestMonitor.setData(new IProcessExtendedInfo[] { new ProcessInfo((Integer)result, "")}); //$NON-NLS-1$ } else { fRequestMonitor.setStatus(NO_PID_STATUS); } @@ -233,7 +236,9 @@ public class GdbConnectCommand implements IConnect { // Store the path of the binary so we can use it again for another process // with the same name. Only do this on success, to avoid being stuck with // a path that is invalid - fProcessNameToBinaryMap.put(fProcName, finalBinaryPath); + if (fProcName != null && !fProcName.isEmpty()) { + fProcessNameToBinaryMap.put(fProcName, finalBinaryPath); + } fRm.done(); }; });