78 |
78 |
79 public static final String PREFIX = "com.nokia.cdt.debug.cw.symbian.SettingsData"; //$NON-NLS-1$ |
79 public static final String PREFIX = "com.nokia.cdt.debug.cw.symbian.SettingsData"; //$NON-NLS-1$ |
80 public static final String LaunchConfig_Emulator = PREFIX + ".LaunchConfig_Emulator"; //$NON-NLS-1$ |
80 public static final String LaunchConfig_Emulator = PREFIX + ".LaunchConfig_Emulator"; //$NON-NLS-1$ |
81 public static final String LaunchConfig_AppTRK = PREFIX + ".LaunchConfig_AppTRK"; //$NON-NLS-1$ |
81 public static final String LaunchConfig_AppTRK = PREFIX + ".LaunchConfig_AppTRK"; //$NON-NLS-1$ |
82 public static final String LaunchConfig_SysTRK = PREFIX + ".LaunchConfig_SysTRK"; //$NON-NLS-1$ |
82 public static final String LaunchConfig_SysTRK = PREFIX + ".LaunchConfig_SysTRK"; //$NON-NLS-1$ |
83 public static final String LaunchConfig_CrashDebugger = PREFIX + ".LaunchConfig_CrashDebugger"; //$NON-NLS-1$ |
|
84 public static final String LaunchConfig_Trace32 = PREFIX + ".LaunchConfig_Trace32"; //$NON-NLS-1$ |
83 public static final String LaunchConfig_Trace32 = PREFIX + ".LaunchConfig_Trace32"; //$NON-NLS-1$ |
85 |
84 |
86 public static final String ATTR_originalName = "originalName"; //$NON-NLS-1$ |
85 public static final String ATTR_originalName = "originalName"; //$NON-NLS-1$ |
87 |
86 |
88 // Executable targeting |
87 // Executable targeting |
618 settingsGroup.equals(LaunchConfig_SysTRK) || |
617 settingsGroup.equals(LaunchConfig_SysTRK) || |
619 settingsGroup.equals(LaunchConfig_Emulator)) |
618 settingsGroup.equals(LaunchConfig_Emulator)) |
620 { |
619 { |
621 configuration.setAttribute( PreferenceConstants.J_PN_IsSystemModeDebug, false ); |
620 configuration.setAttribute( PreferenceConstants.J_PN_IsSystemModeDebug, false ); |
622 } |
621 } |
623 else // others like T32 and crash debugger. |
622 else // others like T32 |
624 configuration.setAttribute( PreferenceConstants.J_PN_IsSystemModeDebug, true ); |
623 configuration.setAttribute( PreferenceConstants.J_PN_IsSystemModeDebug, true ); |
625 } |
624 } |
626 |
625 |
627 // a convenience function. |
626 // a convenience function. |
628 public static void setInternalPreferences(ILaunchConfiguration originalConfig, String settingsGroup) |
627 public static void setInternalPreferences(ILaunchConfiguration originalConfig, String settingsGroup) |
729 configuration.setAttribute(PreferenceConstants.J_PN_ParseRomLogFile, false); |
728 configuration.setAttribute(PreferenceConstants.J_PN_ParseRomLogFile, false); |
730 configuration.setAttribute(PreferenceConstants.J_PN_RomLogFilePath, ""); //$NON-NLS-1$ |
729 configuration.setAttribute(PreferenceConstants.J_PN_RomLogFilePath, ""); //$NON-NLS-1$ |
731 configuration.setAttribute(PreferenceConstants.J_PN_SymbianKitEpoc32Dir, ""); //$NON-NLS-1$ |
730 configuration.setAttribute(PreferenceConstants.J_PN_SymbianKitEpoc32Dir, ""); //$NON-NLS-1$ |
732 configuration.setAttribute(PreferenceConstants.J_PN_LogUnresolved, false); |
731 configuration.setAttribute(PreferenceConstants.J_PN_LogUnresolved, false); |
733 |
732 |
734 // For all but crash debugger, use our "SymbianDebugger". |
733 configuration.setAttribute(ICDTLaunchConfigurationConstants.ATTR_DEBUGGER_ID, SymbianDebugger.DEBUGGER_ID); |
735 // Crash debugger will set its own debugger (see CrashDebugConfigurationTabGroup.setDefaults()). |
734 |
736 // |
735 setExecutablesTab(configuration, settingsGroup, project); |
737 if (!settingsGroup.equals(LaunchConfig_CrashDebugger)) { |
|
738 configuration.setAttribute(ICDTLaunchConfigurationConstants.ATTR_DEBUGGER_ID, SymbianDebugger.DEBUGGER_ID); |
|
739 // Executables tab is not shown for crash debugger launch configuration. |
|
740 setExecutablesTab(configuration, settingsGroup, project); |
|
741 } |
|
742 |
736 |
743 setInternalPreferences(configuration, settingsGroup); |
737 setInternalPreferences(configuration, settingsGroup); |
744 |
738 |
745 if (settingsGroup.equals(LaunchConfig_Emulator)) { |
739 if (settingsGroup.equals(LaunchConfig_Emulator)) { |
746 setEmulationMainTab(configuration, project); |
740 setEmulationMainTab(configuration, project); |
747 setEmulationDebuggerTab(configuration, project); |
741 setEmulationDebuggerTab(configuration, project); |
748 setX86ExceptionsTab(configuration, project); |
742 setX86ExceptionsTab(configuration, project); |
749 } |
743 } |
750 |
744 |
751 if (settingsGroup.equals(LaunchConfig_AppTRK) || |
745 if (settingsGroup.equals(LaunchConfig_AppTRK) || |
752 settingsGroup.equals(LaunchConfig_SysTRK) || |
746 settingsGroup.equals(LaunchConfig_SysTRK)) |
753 settingsGroup.equals(LaunchConfig_CrashDebugger)) |
|
754 { |
747 { |
755 setSerialConnTab(configuration, project); |
748 setSerialConnTab(configuration, project); |
756 } |
749 } |
757 |
750 |
758 if (settingsGroup.equals(LaunchConfig_AppTRK)) { |
751 if (settingsGroup.equals(LaunchConfig_AppTRK)) { |
791 connTI, |
784 connTI, |
792 "Symbian MetroTRK Protocol", //$NON-NLS-1$ |
785 "Symbian MetroTRK Protocol", //$NON-NLS-1$ |
793 ""); // Protocol plugin name //$NON-NLS-1$ |
786 ""); // Protocol plugin name //$NON-NLS-1$ |
794 } |
787 } |
795 |
788 |
796 if (settingsGroup.equals(LaunchConfig_CrashDebugger)) { |
|
797 // Crash debugger: specify crash debugger protocol plugin. |
|
798 // |
|
799 // For crash debugger, we don't need a project. But don't set the name to "" as it would |
|
800 // cause crasher in CDT if we tries to create CDebugTarget without a project. |
|
801 configuration.setAttribute(ICDTLaunchConfigurationConstants.ATTR_PROJECT_NAME, "Any"); //$NON-NLS-1$ |
|
802 |
|
803 ConnectionTypeInfo connTI = new ConnectionTypeInfo( |
|
804 "Carbide CrashDebugger", // Internal ID //$NON-NLS-1$ |
|
805 "SymbianCrashDebuggerProtocol", // Display name. see SymbianCrashDebuggerPrefix.h on DE side. //$NON-NLS-1$ |
|
806 spn_SerialComm); // Pref panel name |
|
807 |
|
808 DebuggerCommonData.setLaunchConfigConnSettings( |
|
809 configuration, |
|
810 connTI, |
|
811 "SymbianCrashDebuggerProtocol", //$NON-NLS-1$ |
|
812 ""); // see SymbianCrashDebuggerPrefix.h on DE side //$NON-NLS-1$ |
|
813 } |
|
814 |
|
815 if (settingsGroup.equals(LaunchConfig_Trace32)) { |
789 if (settingsGroup.equals(LaunchConfig_Trace32)) { |
816 String t32ExePathStr = "C:\\t32\\t32marm.exe"; //$NON-NLS-1$ |
790 String t32ExePathStr = "C:\\t32\\t32marm.exe"; //$NON-NLS-1$ |
817 |
791 |
818 //set the default config file from the Symbian support folder which has the predefined settings for connecting to Carbide. |
792 //set the default config file from the Symbian support folder which has the predefined settings for connecting to Carbide. |
819 String supportDir = SupportPlugin.getDefault().getSymbianSupportDirectory(); |
793 String supportDir = SupportPlugin.getDefault().getSymbianSupportDirectory(); |