From 3baaea5a44fe8cd7db33cddea78b68466ffc682b Mon Sep 17 00:00:00 2001 From: Kevin O'Connor Date: Tue, 19 Aug 2014 17:18:46 -0400 Subject: [PATCH] Squashed commit of the following: commit b4589d75b682d5bb99a98e9af975dd5c03a574dc Author: Kevin O'Connor Date: Tue Aug 19 17:15:12 2014 -0400 Make CPP debugging from menu item work. Change-Id: I5bda07e088560adabbb9bc5fbfce9bd9456f7e1f commit aaa832376700156abb1002ce7ad9334c4983be43 Author: Kevin O'Connor Date: Tue Aug 19 17:13:22 2014 -0400 Change CPP debug to use mDNS (artf3410) Change-Id: I01b97e1754c2abd4d18b41ab2f890b1b5470d616 Change-Id: I405bd1808d301f650f9293c60db161205ee6e704 --- .../cpp/launching/DeployLaunchShortcut.java | 22 ++++++++++++++++--- .../plugins/cpp/launching/RSEUtils.java | 6 +++-- 2 files changed, 23 insertions(+), 5 deletions(-) diff --git a/eclipse-plugins/edu.wpi.first.wpilib.plugins.cpp/src/main/java/edu/wpi/first/wpilib/plugins/cpp/launching/DeployLaunchShortcut.java b/eclipse-plugins/edu.wpi.first.wpilib.plugins.cpp/src/main/java/edu/wpi/first/wpilib/plugins/cpp/launching/DeployLaunchShortcut.java index 26236404df..2aeed5c069 100644 --- a/eclipse-plugins/edu.wpi.first.wpilib.plugins.cpp/src/main/java/edu/wpi/first/wpilib/plugins/cpp/launching/DeployLaunchShortcut.java +++ b/eclipse-plugins/edu.wpi.first.wpilib.plugins.cpp/src/main/java/edu/wpi/first/wpilib/plugins/cpp/launching/DeployLaunchShortcut.java @@ -139,21 +139,37 @@ public class DeployLaunchShortcut implements ILaunchShortcut String remote_connection = RSEUtils.getTarget(teamNumber).getName(); ILaunchConfigurationWorkingCopy config = type.newInstance(null, activeProj.getName()); + config.setAttribute(ICDTLaunchConfigurationConstants.ATTR_COREFILE_PATH, ""); + config.setAttribute(ICDTLaunchConfigurationConstants.ATTR_DEBUGGER_ENABLE_REGISTER_BOOKKEEPING, false); + config.setAttribute(ICDTLaunchConfigurationConstants.ATTR_DEBUGGER_ENABLE_VARIABLE_BOOKKEEPING, false); + config.setAttribute(ICDTLaunchConfigurationConstants.ATTR_DEBUGGER_ID, "org.eclipse.rse.remotecdt.RemoteGDBDebugger"); + config.setAttribute(ICDTLaunchConfigurationConstants.ATTR_DEBUGGER_REGISTER_GROUPS, ""); + config.setAttribute(ICDTLaunchConfigurationConstants.ATTR_DEBUGGER_START_MODE, "run"); + config.setAttribute(ICDTLaunchConfigurationConstants.ATTR_DEBUGGER_STOP_AT_MAIN, true); + config.setAttribute(ICDTLaunchConfigurationConstants.ATTR_DEBUGGER_STOP_AT_MAIN_SYMBOL, "main"); + config.setAttribute(ICDTLaunchConfigurationConstants.ATTR_USE_TERMINAL, true); config.setAttribute(ICDTLaunchConfigurationConstants.ATTR_PROJECT_NAME, activeProj.getName()); Collection exes = ExecutablesManager.getExecutablesManager().getExecutablesForProject(activeProj); config.setAttribute(ICDTLaunchConfigurationConstants.ATTR_PROGRAM_NAME, exes.size() > 0 ? exes.toArray(new Executable[0])[0].getPath().makeRelativeTo(activeProj.getLocation()).toString(): "Debug/FRCUserProgram"); + + config.setAttribute(IRemoteConnectionConfigurationConstants.ATTR_REMOTE_PATH, "/home/admin/FRCUserProgram"); - config.setAttribute(IMILaunchConfigurationConstants.ATTR_DEBUG_NAME, WPILibCPPPlugin.getDefault().getToolchain() + "/bin/arm-none-linux-gnueabi-gdb"); config.setAttribute(IRemoteConnectionConfigurationConstants.ATTR_REMOTE_CONNECTION, remote_connection); - config.setAttribute(ICDTLaunchConfigurationConstants.ATTR_DEBUGGER_ID, "gdbserver"); + config.setAttribute(IRemoteConnectionConfigurationConstants.ATTR_SKIP_DOWNLOAD_TO_TARGET, false); + config.setAttribute(IRemoteConnectionConfigurationConstants.ATTR_GDBSERVER_PORT, "2345"); + config.setAttribute(IRemoteConnectionConfigurationConstants.ATTR_GDBSERVER_COMMAND, "gdbserver"); + + config.setAttribute(IMILaunchConfigurationConstants.ATTR_DEBUG_NAME, WPILibCPPPlugin.getDefault().getToolchain() + "/bin/arm-none-linux-gnueabi-gdb"); List solibs = new ArrayList<>(); solibs.add(WPILibCPPPlugin.getDefault().getToolchain() + "/arm-non-linux-gnueabi/libc/lib"); solibs.add(WPILibCPPPlugin.getDefault().getToolchain() + "/arm-non-linux-gnueabi/libc/usr/lib"); solibs.add(WPILibCPPPlugin.getDefault().getCPPDir() + "/lib"); config.setAttribute(IMILaunchConfigurationConstants.ATTR_DEBUGGER_SOLIB_PATH, solibs); - + config.setAttribute(IMILaunchConfigurationConstants.ATTR_DEBUGGER_AUTO_SOLIB, true); + config.setAttribute(IMILaunchConfigurationConstants.ATTR_DEBUGGER_STOP_ON_SOLIB_EVENTS, false); + config.doSave(); return config; } } diff --git a/eclipse-plugins/edu.wpi.first.wpilib.plugins.cpp/src/main/java/edu/wpi/first/wpilib/plugins/cpp/launching/RSEUtils.java b/eclipse-plugins/edu.wpi.first.wpilib.plugins.cpp/src/main/java/edu/wpi/first/wpilib/plugins/cpp/launching/RSEUtils.java index b9891aac35..35930c2bde 100644 --- a/eclipse-plugins/edu.wpi.first.wpilib.plugins.cpp/src/main/java/edu/wpi/first/wpilib/plugins/cpp/launching/RSEUtils.java +++ b/eclipse-plugins/edu.wpi.first.wpilib.plugins.cpp/src/main/java/edu/wpi/first/wpilib/plugins/cpp/launching/RSEUtils.java @@ -16,8 +16,10 @@ public class RSEUtils { public static IHost getTarget(int teamNumber) { // The ip address based on the team number - String hostName = "10."+(teamNumber/100)+"."+(teamNumber%100)+".2"; - String connectionName = hostName; //"Team "+teamNumber; + //String hostName = "10."+(teamNumber/100)+"."+(teamNumber%100)+".2"; + //String connectionName = hostName; //"Team "+teamNumber; + String hostName = "roboRIO-" + teamNumber + ".local"; + String connectionName = hostName; // get the singleton RSE registry try {