Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorUwe Stieber2015-06-19 14:37:24 +0000
committerUwe Stieber2015-06-19 14:37:24 +0000
commita2d6712c6b7d82c29c0ff9b320206427bb1efa7a (patch)
treea658eb9624e5bae8ac216ab02557bb58e411f8cc
parent0b2e63e5a6ee7e6bf59d6631c9b19f45723fe474 (diff)
downloadorg.eclipse.tcf-a2d6712c6b7d82c29c0ff9b320206427bb1efa7a.tar.gz
org.eclipse.tcf-a2d6712c6b7d82c29c0ff9b320206427bb1efa7a.tar.xz
org.eclipse.tcf-a2d6712c6b7d82c29c0ff9b320206427bb1efa7a.zip
Target Explorer: Show better error message in case gdbserver can't be found on the target
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.tcf.launch.cdt/src/org/eclipse/tcf/te/tcf/launch/cdt/launching/TEGdbAbstractLaunchDelegate.java7
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.tcf.launch.cdt/src/org/eclipse/tcf/te/tcf/launch/cdt/nls/Messages.java1
-rw-r--r--target_explorer/plugins/org.eclipse.tcf.te.tcf.launch.cdt/src/org/eclipse/tcf/te/tcf/launch/cdt/nls/Messages.properties6
3 files changed, 13 insertions, 1 deletions
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.launch.cdt/src/org/eclipse/tcf/te/tcf/launch/cdt/launching/TEGdbAbstractLaunchDelegate.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.launch.cdt/src/org/eclipse/tcf/te/tcf/launch/cdt/launching/TEGdbAbstractLaunchDelegate.java
index 78d450206..ce9bf93b1 100644
--- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.launch.cdt/src/org/eclipse/tcf/te/tcf/launch/cdt/launching/TEGdbAbstractLaunchDelegate.java
+++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.launch.cdt/src/org/eclipse/tcf/te/tcf/launch/cdt/launching/TEGdbAbstractLaunchDelegate.java
@@ -427,6 +427,7 @@ public abstract class TEGdbAbstractLaunchDelegate extends GdbLaunchDelegate {
// Get the launch configuration from the launch
final ILaunchConfiguration lc = launch.getLaunchConfiguration();
+ final boolean isAttachLaunch = ICDTLaunchConfigurationConstants.ID_LAUNCH_C_ATTACH.equals(lc.getType().getIdentifier());
String d = details;
if (d != null && !"".equals(d)) { //$NON-NLS-1$
@@ -446,6 +447,12 @@ public abstract class TEGdbAbstractLaunchDelegate extends GdbLaunchDelegate {
String address = host + (port != null ? ":" + port : ""); //$NON-NLS-1$ //$NON-NLS-2$
d = NLS.bind(Messages.TEGdbAbstractLaunchDelegate_error_addressInUse, address);
}
+ // Rewrite "No such file or directory" error.
+ else if (d.contains("No such file or directory")) { //$NON-NLS-1$
+ // Get gdbserver path
+ String gdbserverCommand = lc.getAttribute(IRemoteTEConfigurationConstants.ATTR_GDBSERVER_COMMAND, TEHelper.getStringPreferenceValue(isAttachLaunch ? IPreferenceKeys.PREF_GDBSERVER_COMMAND_ATTACH : IPreferenceKeys.PREF_GDBSERVER_COMMAND));
+ d = NLS.bind(Messages.TEGdbAbstractLaunchDelegate_error_nosuchfileordirectory, gdbserverCommand);
+ }
}
}
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.launch.cdt/src/org/eclipse/tcf/te/tcf/launch/cdt/nls/Messages.java b/target_explorer/plugins/org.eclipse.tcf.te.tcf.launch.cdt/src/org/eclipse/tcf/te/tcf/launch/cdt/nls/Messages.java
index 3bbb8f644..97f0be5a5 100644
--- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.launch.cdt/src/org/eclipse/tcf/te/tcf/launch/cdt/nls/Messages.java
+++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.launch.cdt/src/org/eclipse/tcf/te/tcf/launch/cdt/nls/Messages.java
@@ -55,6 +55,7 @@ public class Messages extends NLS {
public static String TEGdbAbstractLaunchDelegate_gdbserverFailedToStartErrorMessage;
public static String TEGdbAbstractLaunchDelegate_gdbserverFailedToStartErrorWithDetails;
public static String TEGdbAbstractLaunchDelegate_error_addressInUse;
+ public static String TEGdbAbstractLaunchDelegate_error_nosuchfileordirectory;
static {
// initialize resource bundle
diff --git a/target_explorer/plugins/org.eclipse.tcf.te.tcf.launch.cdt/src/org/eclipse/tcf/te/tcf/launch/cdt/nls/Messages.properties b/target_explorer/plugins/org.eclipse.tcf.te.tcf.launch.cdt/src/org/eclipse/tcf/te/tcf/launch/cdt/nls/Messages.properties
index ec3186522..0f2a2bf0c 100644
--- a/target_explorer/plugins/org.eclipse.tcf.te.tcf.launch.cdt/src/org/eclipse/tcf/te/tcf/launch/cdt/nls/Messages.properties
+++ b/target_explorer/plugins/org.eclipse.tcf.te.tcf.launch.cdt/src/org/eclipse/tcf/te/tcf/launch/cdt/nls/Messages.properties
@@ -49,9 +49,13 @@ TEGdbAbstractLaunchDelegate_filetransferFailed=Failed to download application im
TEGdbAbstractLaunchDelegate_gdbserverFailedToStartErrorMessage=Could not start gdbserver on the remote host. See console output for more details.
TEGdbAbstractLaunchDelegate_gdbserverFailedToStartErrorWithDetails=Could not start gdbserver on the remote host. Possibly caused by:\n{0}
TEGdbAbstractLaunchDelegate_error_addressInUse=The address {0} is already in use on the remote host. Possibly another gdbserver process is already \
-running using the same port to listen for connections.\n\nPlease configure another port to use within the launch configuration. Do do so, open the \
+running using the same port to listen for connections.\n\nPlease configure another port to use within the launch configuration. To do so, open the \
launch configuration dialog, select the launch configuration and switch to the "Debugger" tab. On the "Debugger" tab, configure the port to use on \
the "gdbserver" tab.
+TEGdbAbstractLaunchDelegate_error_nosuchfileordirectory=The specified gdbserver binary, ''{0}'', could not be found.\n\n\
+Please check the launch configuration if you have configured the gdbserver name correctly.\n\nTo do so, open the launch configuration dialog, select the launch \
+configuration and switch to the "Debugger" tab. On the "Debugger" tab, switch to the "Gdbserver Settings" and check the "Gdbserver name" setting.\n\n\
+Also check that the gdbserver package is installed on the target.
TCFPeerSelector_0=Connection:

Back to the top