fixed several problems with default launch values causing the apply button to become enabled when nothing had chaned - fixes bug #9275.
--- a/debuggercdi/com.nokia.cdt.debug.cw.symbian/src/com/nokia/cdt/debug/cw/symbian/SettingsData.java Mon Jun 15 14:08:15 2009 -0500
+++ b/debuggercdi/com.nokia.cdt.debug.cw.symbian/src/com/nokia/cdt/debug/cw/symbian/SettingsData.java Mon Jun 15 16:58:16 2009 -0500
@@ -57,6 +57,7 @@
import com.nokia.carbide.cdt.builder.project.ICarbideBuildConfiguration;
import com.nokia.carbide.cdt.builder.project.ICarbideProjectInfo;
import com.nokia.carbide.cdt.builder.project.ISISBuilderInfo;
+import com.nokia.carbide.cpp.internal.support.SupportPlugin;
import com.nokia.carbide.cpp.sdk.core.ISymbianBuildContext;
import com.nokia.carbide.cpp.sdk.core.ISymbianSDK;
import com.nokia.carbide.cpp.sdk.core.SDKCorePlugin;
@@ -143,6 +144,8 @@
//================= End of Shadowed panels ===========================================
+ public static final String TARGET_PATH_INCLUDES_FILENAME = "TARGET_PATH_INCLUDES_FILENAME"; //$NON-NLS-1$
+
public static final int J_PN_TrkTimeout_Default = 2000;
private static String[] exceptionPropertyNames = null;
@@ -387,7 +390,7 @@
String exeName = null;
if (mainExeHostPath != null)
exeName = mainExeHostPath.lastSegment();
- else if (binary.isExecutable())
+ else if (binary != null && binary.isExecutable())
exeName = binary.getResource().getLocation().lastSegment();
if (exeName != null)
configuration.setAttribute(PreferenceConstants.J_PN_RemoteProcessToLaunch, "C:\\sys\\bin\\" + exeName); //$NON-NLS-1$
@@ -423,6 +426,13 @@
}
public static void setRomImgTab(ILaunchConfigurationWorkingCopy configuration, IProject project) {
+
+ configuration.setAttribute( PreferenceConstants.J_PN_DebugNonXip, false);
+ configuration.setAttribute( PreferenceConstants.J_PN_DownloadRomImage, false);
+ configuration.setAttribute( PreferenceConstants.J_PN_RomImagePath, ""); //$NON-NLS-1$
+ configuration.setAttribute( PreferenceConstants.J_PN_DownloadAddress, 0);
+ configuration.setAttribute( PreferenceConstants.J_PN_AskForDownload, true);
+
if (project != null) {
ICarbideProjectInfo cpi = CarbideBuilderPlugin.getBuildManager().getProjectInfo(project.getProject());
@@ -447,13 +457,13 @@
configuration.setAttribute( DebugPlugin.ATTR_PROCESS_FACTORY_ID, ProcessFactory.ID );
configuration.setAttribute( ICDTLaunchConfigurationConstants.ATTR_DEBUGGER_START_MODE, ICDTLaunchConfigurationConstants.DEBUGGER_MODE_RUN );
configuration.setAttribute( PreferenceConstants.J_PN_StopAtMainSymbol, "E32Main" ); //$NON-NLS-1$
- configuration.setAttribute(ICDTLaunchConfigurationConstants.ATTR_DEBUGGER_STOP_AT_MAIN, false);
+ configuration.setAttribute( ICDTLaunchConfigurationConstants.ATTR_DEBUGGER_STOP_AT_MAIN, false );
configuration.setAttribute( ICDTLaunchConfigurationConstants.ATTR_DEBUGGER_ENABLE_VARIABLE_BOOKKEEPING, false );
configuration.setAttribute( ICDTLaunchConfigurationConstants.ATTR_DEBUGGER_ENABLE_REGISTER_BOOKKEEPING, false );
- configuration.setAttribute( PreferenceConstants.J_PN_ViewUnframedData, true);
- configuration.setAttribute( PreferenceConstants.J_PN_ViewCommMessages, false);
- configuration.setAttribute( PreferenceConstants.J_PN_DefaultInstructionSet, PreferenceConstants.J_PV_DefaultInstructionSet_Auto);
- configuration.setAttribute( PreferenceConstants.J_PN_TRKMessageTimeout, J_PN_TrkTimeout_Default);
+ configuration.setAttribute( PreferenceConstants.J_PN_ViewUnframedData, true );
+ configuration.setAttribute( PreferenceConstants.J_PN_ViewCommMessages, false );
+ configuration.setAttribute( PreferenceConstants.J_PN_DefaultInstructionSet, PreferenceConstants.J_PV_DefaultInstructionSet_Auto );
+ configuration.setAttribute( PreferenceConstants.J_PN_TRKMessageTimeout, J_PN_TrkTimeout_Default );
}
public static void setStopModeDebuggerTab(ILaunchConfigurationWorkingCopy configuration, IProject project) {
@@ -462,11 +472,20 @@
configuration.setAttribute( DebugPlugin.ATTR_PROCESS_FACTORY_ID, ProcessFactory.ID );
configuration.setAttribute( ICDTLaunchConfigurationConstants.ATTR_DEBUGGER_START_MODE, ICDTLaunchConfigurationConstants.DEBUGGER_MODE_RUN );
configuration.setAttribute( PreferenceConstants.J_PN_StopAtMainSymbol, "E32Main" ); //$NON-NLS-1$
- configuration.setAttribute(ICDTLaunchConfigurationConstants.ATTR_DEBUGGER_STOP_AT_MAIN, false);
+ configuration.setAttribute( ICDTLaunchConfigurationConstants.ATTR_DEBUGGER_STOP_AT_MAIN, false );
configuration.setAttribute( ICDTLaunchConfigurationConstants.ATTR_DEBUGGER_ENABLE_VARIABLE_BOOKKEEPING, false );
configuration.setAttribute( ICDTLaunchConfigurationConstants.ATTR_DEBUGGER_ENABLE_REGISTER_BOOKKEEPING, false );
- configuration.setAttribute( PreferenceConstants.J_PN_DefaultInstructionSet, PreferenceConstants.J_PV_DefaultInstructionSet_Auto);
+ configuration.setAttribute( PreferenceConstants.J_PN_RomImgStartAddress , 0);
+ configuration.setAttribute( PreferenceConstants.J_PN_DebugRunFromStart, PreferenceConstants.J_PV_DebugRunFromStart_Debug);
+ configuration.setAttribute( PreferenceConstants.J_PN_DefaultInstructionSet, PreferenceConstants.J_PV_DefaultInstructionSet_Auto );
+ configuration.setAttribute( PreferenceConstants.J_PN_TargetProcessor, 8);
+ configuration.setAttribute( PreferenceConstants.J_PN_RunTargetInitFile, false);
+ configuration.setAttribute( PreferenceConstants.J_PN_TargetInitFilePath, ""); //$NON-NLS-1$
+ configuration.setAttribute( PreferenceConstants.J_PN_RunMemConfigFile, false);
+ configuration.setAttribute( PreferenceConstants.J_PN_MemConfigFilePath, ""); //$NON-NLS-1$
+ configuration.setAttribute( PreferenceConstants.J_PN_ResetTarget, false);
}
+
public static void setSerialConnTab(ILaunchConfigurationWorkingCopy configuration, IProject project) {
//======== Serial Connection Tab =====================================
//
@@ -482,6 +501,7 @@
//======== File Transfer tab ============================================
//
configuration.setAttribute( PreferenceConstants.J_PN_FilesToTransfer, "" ); //$NON-NLS-1$
+ configuration.setAttribute( TARGET_PATH_INCLUDES_FILENAME, "true" ); //$NON-NLS-1$
// only do this for system TRK configurations
if (project != null) {
@@ -563,7 +583,7 @@
// Defaults to all executables from the same SDK
configuration.setAttribute( LCS_ExecutableTargetingRule, LCS_ExeTargetingRule_AllInSDK ); //$NON-NLS-1$
configuration.setAttribute( PreferenceConstants.J_PN_ExecutablesToDebug, "" ); //$NON-NLS-1$
- configuration.setAttribute( PreferenceConstants.J_PN_SymbolLoadingRule, PreferenceConstants.J_PV_SymbolLoadingRule_Auto);
+ configuration.setAttribute( PreferenceConstants.J_PN_SymbolLoadingRule, PreferenceConstants.J_PV_SymbolLoadingRule_Auto );
}
/**
@@ -581,18 +601,18 @@
// All but emulator debugger support OS Data View (kernel aware view) at present.
//
if (settingsGroup.equals(LaunchConfig_Emulator))
- configuration.setAttribute( PreferenceConstants.J_PN_SupportOSView, false);
+ configuration.setAttribute( PreferenceConstants.J_PN_SupportOSView, false );
else
- configuration.setAttribute( PreferenceConstants.J_PN_SupportOSView, true);
+ configuration.setAttribute( PreferenceConstants.J_PN_SupportOSView, true );
if (settingsGroup.equals(LaunchConfig_AppTRK) ||
settingsGroup.equals(LaunchConfig_SysTRK) ||
settingsGroup.equals(LaunchConfig_Emulator))
{
- configuration.setAttribute( PreferenceConstants.J_PN_IsSystemModeDebug, false);
+ configuration.setAttribute( PreferenceConstants.J_PN_IsSystemModeDebug, false );
}
else // others like T32, Sophia and crash debugger.
- configuration.setAttribute( PreferenceConstants.J_PN_IsSystemModeDebug, true);
+ configuration.setAttribute( PreferenceConstants.J_PN_IsSystemModeDebug, true );
}
// a convenience function.
@@ -694,11 +714,18 @@
}
+ // set rom log file defaults. do this for all launch types since it shouldn't hurt
+ // and could be easy to miss some launch types that use this tab
+ configuration.setAttribute(PreferenceConstants.J_PN_ParseRomLogFile, false);
+ configuration.setAttribute(PreferenceConstants.J_PN_RomLogFilePath, ""); //$NON-NLS-1$
+ configuration.setAttribute(PreferenceConstants.J_PN_SymbianKitEpoc32Dir, ""); //$NON-NLS-1$
+ configuration.setAttribute(PreferenceConstants.J_PN_LogUnresolved, false);
+
// For all but crash debugger, use our "SymbianDebugger".
// Crash debugger will set its own debugger (see CrashDebugConfigurationTabGroup.setDefaults()).
//
- if (! settingsGroup.equals(LaunchConfig_CrashDebugger)) {
- configuration.setAttribute( ICDTLaunchConfigurationConstants.ATTR_DEBUGGER_ID, SymbianDebugger.DEBUGGER_ID);
+ if (!settingsGroup.equals(LaunchConfig_CrashDebugger)) {
+ configuration.setAttribute(ICDTLaunchConfigurationConstants.ATTR_DEBUGGER_ID, SymbianDebugger.DEBUGGER_ID);
// Executables tab is not shown for crash debugger launch configuration.
setExecutablesTab(configuration, settingsGroup, project);
}
@@ -723,7 +750,8 @@
// set this so it's there in the config and the apply button doesn't become
// enabled when switching to the tab
- configuration.setAttribute( PreferenceConstants.J_PN_FilesToTransfer, "" ); //$NON-NLS-1$
+ configuration.setAttribute(PreferenceConstants.J_PN_FilesToTransfer, ""); //$NON-NLS-1$
+ configuration.setAttribute(TARGET_PATH_INCLUDES_FILENAME, "true"); //$NON-NLS-1$
}
if (settingsGroup.equals(LaunchConfig_SysTRK)) {
@@ -775,8 +803,26 @@
""); // see SymbianCrashDebuggerPrefix.h on DE side //$NON-NLS-1$
}
- if (settingsGroup.equals(LaunchConfig_Trace32))//$NON-NLS-1$
- {
+ if (settingsGroup.equals(LaunchConfig_Trace32)) {
+ String t32ExePathStr = "C:\\t32\\t32marm.exe"; //$NON-NLS-1$
+
+ //set the default config file from the Symbian support folder which has the predefined settings for connecting to Carbide.
+ String supportDir = SupportPlugin.getDefault().getSymbianSupportDirectory();
+ String defaultConfigFilePath = supportDir + "\\Trace32\\config_carbide.t32"; //$NON-NLS-1$
+
+ if (new File("C:\\apps\\t32\\t32marm.exe").exists()) { //$NON-NLS-1$
+ t32ExePathStr = "C:\\apps\\t32\\t32marm.exe"; //$NON-NLS-1$
+ // use config_carbide_1.t32 where the SYS path is C:\Apps\T32\
+ defaultConfigFilePath = supportDir + "\\Trace32\\config_carbide_1.t32"; //$NON-NLS-1$
+ }
+
+ configuration.setAttribute(spn_Trace32Conn_ExePath, t32ExePathStr);
+ configuration.setAttribute(spn_Trace32Conn_ConfigFilePath, defaultConfigFilePath);
+ configuration.setAttribute(spn_Trace32Conn_BootScriptFile, ""); //$NON-NLS-1$
+ configuration.setAttribute(spn_Trace32Conn_LogOption, false);
+ configuration.setAttribute(spn_Trace32Conn_UdpPort, "20000"); //$NON-NLS-1$
+ configuration.setAttribute(spn_Trace32Conn_BootConfigArgs, ""); //$NON-NLS-1$
+
// Stop mode debugging using Trace32 : specify Trace32 debugger protocol plugin.
//
ConnectionTypeInfo connTI = new ConnectionTypeInfo(
@@ -792,6 +838,11 @@
}
if (settingsGroup.equals(LaunchConfig_SophiaSTI)) {
+ configuration.setAttribute( SettingsData.spn_SophiaSTIConn_DllPath, "C:\\CarbideIF_ARM\\WTI.dll"); //$NON-NLS-1$
+ configuration.setAttribute( SettingsData.spn_SophiaSTIConn_JtagClock, "Auto"); //$NON-NLS-1$
+ configuration.setAttribute( SettingsData.spn_SophiaSTIConn_LogOption, false);
+ configuration.setAttribute( SettingsData.spn_SophiaSTIConn_StiEmulatorType, "Auto"); //$NON-NLS-1$
+
// Stop mode debugging using STI : specify Sophia STI debugger protocol plugin.
//
ConnectionTypeInfo connTI = new ConnectionTypeInfo(
--- a/debuggercdi/com.nokia.cdt.debug.launch/src/com/nokia/cdt/internal/debug/launch/ui/ExecutablesTab.java Mon Jun 15 14:08:15 2009 -0500
+++ b/debuggercdi/com.nokia.cdt.debug.launch/src/com/nokia/cdt/internal/debug/launch/ui/ExecutablesTab.java Mon Jun 15 16:58:16 2009 -0500
@@ -420,6 +420,15 @@
} catch (Exception e) {
LaunchPlugin.log(e);
}
+
+ // now add the ones for the project as well since they may not be built yet and therefore
+ // not returned by the executables manager.
+ for (ExeFileToDebug exe : getExecutablesForTheProject(configuration)) {
+ if (!files.contains(exe)) {
+ files.add(exe);
+ }
+ }
+
return files;
}
--- a/debuggercdi/com.nokia.cdt.debug.launch/src/com/nokia/cdt/internal/debug/launch/ui/FileTransferTab.java Mon Jun 15 14:08:15 2009 -0500
+++ b/debuggercdi/com.nokia.cdt.debug.launch/src/com/nokia/cdt/internal/debug/launch/ui/FileTransferTab.java Mon Jun 15 16:58:16 2009 -0500
@@ -40,8 +40,6 @@
private FilesBlock fFilesBlock;
- private static final String TARGET_PATH_INCLUDES_FILENAME = "TARGET_PATH_INCLUDES_FILENAME"; //$NON-NLS-1$
-
/* (non-Javadoc)
* @see org.eclipse.debug.ui.ILaunchConfigurationTab#createControl(org.eclipse.swt.widgets.Composite)
*/
@@ -75,7 +73,6 @@
* @see org.eclipse.debug.ui.ILaunchConfigurationTab#setDefaults(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
*/
public void setDefaults(ILaunchConfigurationWorkingCopy config) {
- config.setAttribute( TARGET_PATH_INCLUDES_FILENAME, "true"); //$NON-NLS-1$
}
/* (non-Javadoc)
@@ -85,7 +82,7 @@
try {
List<FileToTransfer> files = new ArrayList<FileToTransfer>();
- String conversionTag = configuration.getAttribute(TARGET_PATH_INCLUDES_FILENAME, "false"); //$NON-NLS-1$
+ String conversionTag = configuration.getAttribute(SettingsData.TARGET_PATH_INCLUDES_FILENAME, "false"); //$NON-NLS-1$
if (conversionTag.compareToIgnoreCase("true") != 0) { //$NON-NLS-1$
// needs conversion - add the filename from the host path to the target path which was just a directory
String filesString = configuration.getAttribute(PreferenceConstants.J_PN_FilesToTransfer, ""); //$NON-NLS-1$
@@ -134,7 +131,6 @@
filesString += files[i].getHostPath() + "," + files[i].getTargetPath() + "," + (files[i].getEnabled() ? "1" : "0") + ","; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
}
configuration.setAttribute( PreferenceConstants.J_PN_FilesToTransfer, filesString);
- configuration.setAttribute( TARGET_PATH_INCLUDES_FILENAME, "true"); //$NON-NLS-1$
}
/* (non-Javadoc)
--- a/debuggercdi/com.nokia.cdt.debug.launch/src/com/nokia/cdt/internal/debug/launch/ui/RomImageTab.java Mon Jun 15 14:08:15 2009 -0500
+++ b/debuggercdi/com.nokia.cdt.debug.launch/src/com/nokia/cdt/internal/debug/launch/ui/RomImageTab.java Mon Jun 15 16:58:16 2009 -0500
@@ -35,7 +35,6 @@
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.DirectoryDialog;
import org.eclipse.swt.widgets.FileDialog;
-import org.eclipse.swt.widgets.Group;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Text;
import org.eclipse.ui.PlatformUI;
--- a/debuggercdi/com.nokia.cdt.debug.launch/src/com/nokia/cdt/internal/debug/launch/ui/RomLogFileTab.java Mon Jun 15 14:08:15 2009 -0500
+++ b/debuggercdi/com.nokia.cdt.debug.launch/src/com/nokia/cdt/internal/debug/launch/ui/RomLogFileTab.java Mon Jun 15 16:58:16 2009 -0500
@@ -194,10 +194,6 @@
* @see org.eclipse.debug.ui.ILaunchConfigurationTab#setDefaults(org.eclipse.debug.core.ILaunchConfigurationWorkingCopy)
*/
public void setDefaults(ILaunchConfigurationWorkingCopy config) {
- config.setAttribute( PreferenceConstants.J_PN_ParseRomLogFile, false);
- config.setAttribute( PreferenceConstants.J_PN_RomLogFilePath, ""); //$NON-NLS-1$
- config.setAttribute( PreferenceConstants.J_PN_SymbianKitEpoc32Dir, ""); //$NON-NLS-1$
- config.setAttribute( PreferenceConstants.J_PN_LogUnresolved, false);
}
/* (non-Javadoc)
--- a/debuggercdi/com.nokia.cdt.debug.launch/src/com/nokia/cdt/internal/debug/launch/ui/RunModeArgumentsTab.java Mon Jun 15 14:08:15 2009 -0500
+++ b/debuggercdi/com.nokia.cdt.debug.launch/src/com/nokia/cdt/internal/debug/launch/ui/RunModeArgumentsTab.java Mon Jun 15 16:58:16 2009 -0500
@@ -92,7 +92,6 @@
}
public void setDefaults(ILaunchConfigurationWorkingCopy configuration) {
- configuration.setAttribute(PreferenceConstants.J_PN_ProgramArguments, (String) null);
}
@Override
--- a/debuggercdi/com.nokia.cdt.debug.launch/src/com/nokia/cdt/internal/debug/launch/ui/StopModeDebuggerTab.java Mon Jun 15 14:08:15 2009 -0500
+++ b/debuggercdi/com.nokia.cdt.debug.launch/src/com/nokia/cdt/internal/debug/launch/ui/StopModeDebuggerTab.java Mon Jun 15 16:58:16 2009 -0500
@@ -386,7 +386,7 @@
*/
public void initializeFrom(ILaunchConfiguration configuration) {
try {
- breakAtMain.setSelection(configuration.getAttribute( ICDTLaunchConfigurationConstants.ATTR_DEBUGGER_STOP_AT_MAIN , true ));
+ breakAtMain.setSelection(configuration.getAttribute( ICDTLaunchConfigurationConstants.ATTR_DEBUGGER_STOP_AT_MAIN , false ));
mainBreakSymbol.setText(configuration.getAttribute( PreferenceConstants.J_PN_StopAtMainSymbol , "E32Main" )); //$NON-NLS-1$
int startAddressValue = configuration.getAttribute( PreferenceConstants.J_PN_RomImgStartAddress , 0);
--- a/debuggercdi/com.nokia.cdt.debug.launch/src/com/nokia/cdt/internal/debug/launch/ui/Trace32ConnectionTab.java Mon Jun 15 14:08:15 2009 -0500
+++ b/debuggercdi/com.nokia.cdt.debug.launch/src/com/nokia/cdt/internal/debug/launch/ui/Trace32ConnectionTab.java Mon Jun 15 16:58:16 2009 -0500
@@ -16,7 +16,6 @@
*/
package com.nokia.cdt.internal.debug.launch.ui;
-import com.nokia.carbide.cpp.internal.support.SupportPlugin;
import com.nokia.cdt.debug.cw.symbian.SettingsData;
import com.nokia.cdt.internal.debug.launch.LaunchPlugin;
@@ -240,22 +239,10 @@
*/
public void initializeFrom(ILaunchConfiguration configuration) {
try {
- String t32ExePathStr = "C:\\t32\\t32marm.exe"; //$NON-NLS-1$
-
- //set the default config file from the Symbian support folder which has the predefined settings for connecting to Carbide.
- String supportDir = SupportPlugin.getDefault().getSymbianSupportDirectory();
- String defaultConfigFilePath = supportDir + "\\Trace32\\config_carbide.t32"; //$NON-NLS-1$
-
- if (new File("C:\\apps\\t32\\t32marm.exe").exists()) { //$NON-NLS-1$
- t32ExePathStr = "C:\\apps\\t32\\t32marm.exe"; //$NON-NLS-1$
- // use config_carbide_1.t32 where the SYS path is C:\Apps\T32\
- defaultConfigFilePath = supportDir + "\\Trace32\\config_carbide_1.t32"; //$NON-NLS-1$
- }
-
- t32ExePath.setText(configuration.getAttribute( SettingsData.spn_Trace32Conn_ExePath, t32ExePathStr));
- t32ConfigFilePath.setText(configuration.getAttribute( SettingsData.spn_Trace32Conn_ConfigFilePath, defaultConfigFilePath)); //$NON-NLS-1$
+ t32ExePath.setText(configuration.getAttribute( SettingsData.spn_Trace32Conn_ExePath, ""));
+ t32ConfigFilePath.setText(configuration.getAttribute( SettingsData.spn_Trace32Conn_ConfigFilePath, "")); //$NON-NLS-1$
t32BootConfigFilePath.setText(configuration.getAttribute( SettingsData.spn_Trace32Conn_BootScriptFile, "")); //$NON-NLS-1$
- viewT32Messages.setSelection(configuration.getAttribute( SettingsData.spn_Trace32Conn_LogOption, false));
+ viewT32Messages.setSelection(configuration.getAttribute( SettingsData.spn_Trace32Conn_LogOption, false));
checkControlState();
} catch (CoreException e) {