# HG changeset patch # User stechong # Date 1246910359 18000 # Node ID 539b1b65d45f85faed31b0ab0139eb941c20c704 # Parent 55ef76a19104520c0e459cb750cde58fdfc5c188# Parent d0fdcfed28a6ad3e4ae482d23daad68d439d459d merge commit diff -r 55ef76a19104 -r 539b1b65d45f builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/builder/BuilderPreferenceConstants.java --- a/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/builder/BuilderPreferenceConstants.java Mon Jul 06 14:53:12 2009 -0500 +++ b/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/builder/BuilderPreferenceConstants.java Mon Jul 06 14:59:19 2009 -0500 @@ -104,4 +104,10 @@ * @since 2.0 */ public final static String PREF_MAKE_ENGINE = "makeEngine"; //$NON-NLS-1$ + + /** + * String setting for whether or not to alert user if Carbide can override abld-generated makefile dependencies. + * @since 2.1 + */ + public final static String PREF_DONT_PROMPT_FOR_DEPENDENCY_MISMATCH = "promtToTrackDependencies"; //$NON-NLS-1$ } diff -r 55ef76a19104 -r 539b1b65d45f builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/builder/builder/CarbideCPPBuilder.java --- a/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/builder/builder/CarbideCPPBuilder.java Mon Jul 06 14:53:12 2009 -0500 +++ b/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/builder/builder/CarbideCPPBuilder.java Mon Jul 06 14:59:19 2009 -0500 @@ -980,6 +980,26 @@ * @param componentPath the absolute file system path of the component * @param isTest true for test components, false otherwise * @return false if any makefile generation was necessary but failed, true otherwise + * + * @deprecated use {@link #generateAbldMakefileIfNecessary(ICarbideBuildConfiguration, CarbideCommandLauncher, IPath, boolean, IProgressMonitor)} instead + */ + protected static boolean generateAbldMakefileIfNecessary(ICarbideBuildConfiguration config, CarbideCommandLauncher launcher, IPath componentPath, boolean isTest) { + return generateAbldMakefileIfNecessary(config, launcher, componentPath, isTest, new NullProgressMonitor()); + } + + /** + * Generates the abld makefile if necessary. + * Generates the makefile for the given mmp file if: + * 1) the makefile for the mmp does not exist + * 2) if the mmp or any of its includes is newer than the makefile + * 3) the makefile does not have the necessary Carbide changes + * + * The command used will be 'abld [test] makefile platform mmpname' + * @param config the build configuration context + * @param launcher the Carbide launcher + * @param componentPath the absolute file system path of the component + * @param isTest true for test components, false otherwise + * @return false if any makefile generation was necessary but failed, true otherwise */ protected static boolean generateAbldMakefileIfNecessary(ICarbideBuildConfiguration config, CarbideCommandLauncher launcher, IPath componentPath, boolean isTest, IProgressMonitor progress) { return getBuilder(config.getCarbideProject().getProject()).generateAbldMakefileIfNecessary(config, launcher, componentPath, isTest, progress); diff -r 55ef76a19104 -r 539b1b65d45f builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/builder/builder/CarbideCommandLauncher.java --- a/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/builder/builder/CarbideCommandLauncher.java Mon Jul 06 14:53:12 2009 -0500 +++ b/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/builder/builder/CarbideCommandLauncher.java Mon Jul 06 14:59:19 2009 -0500 @@ -16,29 +16,20 @@ */ package com.nokia.carbide.cdt.builder.builder; -import java.io.IOException; -import java.util.Properties; +import com.nokia.carbide.cdt.builder.CarbideBuilderPlugin; -import org.eclipse.cdt.core.CCorePlugin; -import org.eclipse.cdt.core.CommandLauncher; -import org.eclipse.cdt.core.ConsoleOutputStream; -import org.eclipse.cdt.core.ErrorParserManager; -import org.eclipse.cdt.core.IMarkerGenerator; -import org.eclipse.cdt.core.ProblemMarkerInfo; +import org.eclipse.cdt.core.*; import org.eclipse.cdt.core.model.ICModelMarker; import org.eclipse.cdt.core.resources.IConsole; import org.eclipse.cdt.ui.CUIPlugin; import org.eclipse.cdt.utils.spawner.EnvironmentReader; -import org.eclipse.core.resources.IMarker; -import org.eclipse.core.resources.IProject; -import org.eclipse.core.resources.IResource; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IPath; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.Path; -import org.eclipse.core.runtime.SubProgressMonitor; +import org.eclipse.core.internal.resources.MarkerInfo; +import org.eclipse.core.internal.resources.Workspace; +import org.eclipse.core.resources.*; +import org.eclipse.core.runtime.*; -import com.nokia.carbide.cdt.builder.CarbideBuilderPlugin; +import java.io.IOException; +import java.util.*; /** * A utility class to handle windows process execution. This utility class handles all the execution, @@ -46,6 +37,53 @@ */ public class CarbideCommandLauncher extends CommandLauncher implements IMarkerGenerator { + public class MarkerCacheElement { + private int line; + private int severity; + private String message; + + public MarkerCacheElement(IMarker marker) throws CoreException { + line = marker.getAttribute(IMarker.LINE_NUMBER, -1); + severity = ((Integer) marker.getAttribute(IMarker.SEVERITY)).intValue(); + message = (String) marker.getAttribute(IMarker.MESSAGE); + } + + public MarkerCacheElement(ProblemMarkerInfo problemMarkerInfo) { + line = problemMarkerInfo.lineNumber; + severity = mapMarkerSeverity(problemMarkerInfo.severity); + message = problemMarkerInfo.description; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + line; + result = prime * result + severity; + result = prime * result + + ((message == null) ? 0 : message.hashCode()); + return result; + } + + @Override + public boolean equals(Object obj) { + if (!(obj instanceof MarkerCacheElement)) + return false; + MarkerCacheElement other = (MarkerCacheElement) obj; + if (line != other.line) + return false; + if (severity != other.severity) + return false; + if (message == null) { + if (other.message != null) + return false; + } + else if (!message.equals(other.message)) + return false; + return true; + } + } + protected IProgressMonitor monitor; protected IConsole console; protected ErrorParserManager stdoutStream; @@ -56,6 +94,8 @@ protected IProject project; protected String[] errorParserIds; protected IMarkerGenerator markerGen; + private Map> markerCache; + private long markerCreationTime; /** * Location of tool execution @@ -212,6 +252,8 @@ * @return 0 (zero) on success. returns the actual tool return status */ public int executeCommand(IPath command, String[] args, String[] env, IPath workingDir){ + markerCache = null; + markerCreationTime = System.currentTimeMillis(); int exitValue = -1; String errMsg; try { @@ -299,35 +341,27 @@ } public void addMarker(ProblemMarkerInfo problemMarkerInfo) { - + if (markerCache == null) + markerCache = new HashMap>(); + try { IResource markerResource = problemMarkerInfo.file ; if (markerResource == null) { markerResource = stdoutStream.getProject(); } - IMarker[] cur = markerResource.findMarkers(ICModelMarker.C_MODEL_PROBLEM_MARKER, false, IResource.DEPTH_ONE); - - /* - * Try to find matching markers and don't put in duplicates - */ - if ((cur != null) && (cur.length > 0)) { - for (int i = 0; i < cur.length; i++) { - int line = cur[i].getAttribute(IMarker.LINE_NUMBER, -1); - int sev = ((Integer) cur[i].getAttribute(IMarker.SEVERITY)).intValue(); - String mesg = (String) cur[i].getAttribute(IMarker.MESSAGE); - if (line == problemMarkerInfo.lineNumber && sev == mapMarkerSeverity(problemMarkerInfo.severity) && mesg.equals(problemMarkerInfo.description)) { - return; - } + + Set cacheElements = markerCache.get(markerResource); + if (cacheElements == null) { + cacheElements = new HashSet(); + markerCache.put(markerResource, cacheElements); + IMarker[] cur = markerResource.findMarkers(ICModelMarker.C_MODEL_PROBLEM_MARKER, false, IResource.DEPTH_ONE); + for (IMarker marker : cur) { + cacheElements.add(new MarkerCacheElement(marker)); } } - - // need to pause briefly between marker creations so the creation timestamps - // are unique and sorting the problems view by creation time works properly. - try { - Thread.sleep(20); - } catch (InterruptedException e1) { - e1.printStackTrace(); - } + + if (!cacheElements.add(new MarkerCacheElement(problemMarkerInfo))) + return; IMarker marker = markerResource.createMarker(ICModelMarker.C_MODEL_PROBLEM_MARKER); marker.setAttribute(IMarker.MESSAGE, problemMarkerInfo.description); @@ -356,6 +390,7 @@ } marker.setAttribute(ICModelMarker.C_MODEL_MARKER_EXTERNAL_LOCATION, absolutePath.toOSString()); } + setUniqueCreationTime(marker); } catch (CoreException e) { CCorePlugin.log(e.getStatus()); @@ -363,6 +398,16 @@ } + private void setUniqueCreationTime(IMarker marker) { + // This is using internal platform APIs to avoid putting a delay into every marker creation + // to ensure each marker gets a unique creation time (for sorting in the problems view). + // The total delay could be significant when there are many problem markers + IResource resource = marker.getResource(); + Workspace workspace = (Workspace) resource.getWorkspace(); + MarkerInfo markerInfo = workspace.getMarkerManager().findMarkerInfo(resource, marker.getId()); + markerInfo.setCreationTime(markerCreationTime++); + } + int mapMarkerSeverity(int severity) { switch (severity) { diff -r 55ef76a19104 -r 539b1b65d45f builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/CarbideSBSv1Builder.java --- a/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/CarbideSBSv1Builder.java Mon Jul 06 14:53:12 2009 -0500 +++ b/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/CarbideSBSv1Builder.java Mon Jul 06 14:59:19 2009 -0500 @@ -16,70 +16,38 @@ */ package com.nokia.carbide.cdt.internal.builder; -import java.io.BufferedInputStream; -import java.io.File; -import java.io.FileFilter; -import java.io.FileOutputStream; -import java.io.FileWriter; -import java.io.IOException; -import java.io.RandomAccessFile; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.List; +import java.io.*; +import java.util.*; -import org.eclipse.cdt.make.core.makefile.ICommand; -import org.eclipse.cdt.make.core.makefile.IMacroDefinition; -import org.eclipse.cdt.make.core.makefile.IRule; -import org.eclipse.cdt.make.core.makefile.ITargetRule; +import org.eclipse.cdt.make.core.makefile.*; import org.eclipse.core.resources.IMarker; import org.eclipse.core.resources.IProject; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.FileLocator; -import org.eclipse.core.runtime.IPath; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.NullProgressMonitor; -import org.eclipse.core.runtime.Path; -import org.eclipse.core.runtime.Status; -import org.eclipse.core.runtime.SubMonitor; -import org.eclipse.jface.dialogs.Dialog; -import org.eclipse.jface.dialogs.MessageDialog; +import org.eclipse.core.runtime.*; +import org.eclipse.jface.dialogs.*; import org.eclipse.jface.preference.IPreferenceStore; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; -import org.eclipse.ui.IWorkbench; -import org.eclipse.ui.IWorkbenchWindow; -import org.eclipse.ui.PlatformUI; +import org.eclipse.ui.*; +import org.eclipse.ui.plugin.AbstractUIPlugin; -import com.nokia.carbide.cdt.builder.BuilderPreferenceConstants; -import com.nokia.carbide.cdt.builder.CarbideBuilderPlugin; -import com.nokia.carbide.cdt.builder.DefaultGNUMakefileViewConfiguration; -import com.nokia.carbide.cdt.builder.DefaultMMPViewConfiguration; -import com.nokia.carbide.cdt.builder.DefaultViewConfiguration; -import com.nokia.carbide.cdt.builder.EpocEngineHelper; -import com.nokia.carbide.cdt.builder.EpocEnginePathHelper; +import com.nokia.carbide.cdt.builder.*; import com.nokia.carbide.cdt.builder.builder.CarbideCPPBuilder; import com.nokia.carbide.cdt.builder.builder.CarbideCommandLauncher; -import com.nokia.carbide.cdt.builder.project.ICarbideBuildConfiguration; -import com.nokia.carbide.cdt.builder.project.ICarbideProjectInfo; +import com.nokia.carbide.cdt.builder.project.*; import com.nokia.carbide.cdt.internal.builder.ui.MMPChangedActionDialog; +import com.nokia.carbide.cdt.internal.builder.ui.TrackDependenciesQueryDialog; import com.nokia.carbide.cdt.internal.builder.ui.MMPChangedActionDialog.MMPChangedAction; -import com.nokia.carbide.cpp.epoc.engine.BldInfViewRunnableAdapter; -import com.nokia.carbide.cpp.epoc.engine.EpocEnginePlugin; -import com.nokia.carbide.cpp.epoc.engine.MMPDataRunnableAdapter; +import com.nokia.carbide.cpp.epoc.engine.*; import com.nokia.carbide.cpp.epoc.engine.model.IModel; import com.nokia.carbide.cpp.epoc.engine.model.IModelProvider; import com.nokia.carbide.cpp.epoc.engine.model.bldinf.IBldInfView; import com.nokia.carbide.cpp.epoc.engine.model.makefile.IMakefileView; -import com.nokia.carbide.cpp.epoc.engine.model.mmp.EMMPLanguage; -import com.nokia.carbide.cpp.epoc.engine.model.mmp.EMMPStatement; -import com.nokia.carbide.cpp.epoc.engine.model.mmp.IMMPData; -import com.nokia.carbide.cpp.epoc.engine.model.mmp.IMMPResource; +import com.nokia.carbide.cpp.epoc.engine.model.mmp.*; import com.nokia.carbide.cpp.epoc.engine.preprocessor.AcceptedNodesViewFilter; import com.nokia.carbide.cpp.internal.qt.core.QtCorePlugin; import com.nokia.carbide.cpp.sdk.core.*; import com.nokia.cpp.internal.api.utils.core.FileUtils; +import com.nokia.cpp.internal.api.utils.ui.QueryWithTristatePrefDialog; import com.nokia.cpp.internal.api.utils.ui.WorkbenchUtils; @@ -2433,7 +2401,7 @@ return true; } - protected boolean needsAbldMakefileGeneration(ICarbideBuildConfiguration config, IPath componentPath) { + protected boolean needsAbldMakefileGeneration(final ICarbideBuildConfiguration config, IPath componentPath) { // if this is an extension makefile then we always do the makefile step. if (isExtensionMakefile(componentPath)) { return true; @@ -2479,17 +2447,37 @@ } // now check to see if our makefile changes are there - if (areWeManagingTheMakeFiles && !makeFileHasOurChanges(makefile)) { + final IPreferenceStore prefsStore = CarbideBuilderPlugin.getDefault().getPreferenceStore(); + + if (prefsStore.getBoolean(BuilderPreferenceConstants.PREF_DONT_PROMPT_FOR_DEPENDENCY_MISMATCH) == false && + areWeManagingTheMakeFiles && !makeFileHasOurChanges(makefile)) { + // if they are not then the user must have been building from the command line. this means that // any dependency files that exist could be stale so we need to delete them. we also need to // remove any object code since the corresponding dependency info will not be available. + final int manageDeps[] = { IDialogConstants.OK_ID }; + Display.getDefault().syncExec(new Runnable() { + + public void run() { + // ask the user if they want to update now + TrackDependenciesQueryDialog dlg = new TrackDependenciesQueryDialog(WorkbenchUtils.getSafeShell(), config.getCarbideProject()); + manageDeps[0] = dlg.open(); + } + }); + try { - cleanupObjectCodeDirectory(new Path(makefile.getAbsolutePath()).removeLastSegments(1)); + if (manageDeps[0] == IDialogConstants.OK_ID){ + cleanupObjectCodeDirectory(new Path(makefile.getAbsolutePath()).removeLastSegments(1)); + } } catch (Exception e) { CarbideBuilderPlugin.log(e); e.printStackTrace(); } - return true; + if (manageDeps[0] == IDialogConstants.OK_ID){ + return true; + } else { + return false; + } } return false; diff -r 55ef76a19104 -r 539b1b65d45f builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/ui/BuildSettingsUI.java --- a/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/ui/BuildSettingsUI.java Mon Jul 06 14:53:12 2009 -0500 +++ b/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/ui/BuildSettingsUI.java Mon Jul 06 14:59:19 2009 -0500 @@ -53,6 +53,7 @@ private Composite defaultMMPActionComposite; private Label defaultMMPChangedActionLabel; private Combo defaultMMPChangedActionCombo; + private Button dontCheckForExternalDependencies; // global setting only // SBS v2 Tab private Label cleanCmdv2Label; @@ -200,7 +201,15 @@ defaultMMPChangedActionCombo.add(Messages.getString("SharedPrefs.ActionCompileAndLink")); //$NON-NLS-1$ defaultMMPChangedActionCombo.setToolTipText(Messages.getString("SharedPrefs.defaultMMPChangedActionComboToolTip")); //$NON-NLS-1$ defaultMMPChangedActionCombo.setLayoutData(new GridData()); - + + if (!projectSetting){ + // Only a global setting + dontCheckForExternalDependencies = new Button(content, SWT.CHECK); + dontCheckForExternalDependencies.setText(Messages.getString("BuildSettingsUI.SharedPrefs.DontTrackDeps")); //$NON-NLS-1$ + dontCheckForExternalDependencies.setToolTipText(Messages.getString("BuildSettingsUI.SharedPrefs.DontTrackDepsToolTip")); //$NON-NLS-1$ + dontCheckForExternalDependencies.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 2, 1)); + } + } private void createSBSv2TabComposite() { @@ -428,5 +437,17 @@ makeEngineText.setText(makeEngine); } + public boolean getDontPromtTrackDeps(){ + if (!projectSetting){ + return dontCheckForExternalDependencies.getSelection(); + } else { + return true; + } + } + + public void setDontPromtTrackDeps(boolean dontAsk){ + dontCheckForExternalDependencies.setSelection(dontAsk); + } + } diff -r 55ef76a19104 -r 539b1b65d45f builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/ui/BuilderPreferenceInitializer.java --- a/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/ui/BuilderPreferenceInitializer.java Mon Jul 06 14:53:12 2009 -0500 +++ b/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/ui/BuilderPreferenceInitializer.java Mon Jul 06 14:59:19 2009 -0500 @@ -44,6 +44,7 @@ store.setDefault(BuilderPreferenceConstants.PREF_MMP_CHANGED_ACTION_PROMPT, true); store.setDefault(BuilderPreferenceConstants.PREF_DEFAULT_MMP_CHANGED_ACTION, 0); store.setDefault(BuilderPreferenceConstants.PREF_MAKE_ENGINE, "make"); //$NON-NLS-1$ + store.setDefault(BuilderPreferenceConstants.PREF_DONT_PROMPT_FOR_DEPENDENCY_MISMATCH, false); } } diff -r 55ef76a19104 -r 539b1b65d45f builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/ui/BuilderPreferencePage.java --- a/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/ui/BuilderPreferencePage.java Mon Jul 06 14:53:12 2009 -0500 +++ b/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/ui/BuilderPreferencePage.java Mon Jul 06 14:59:19 2009 -0500 @@ -48,6 +48,7 @@ buildSettingsUI.setPromptForMMPChangedAction(promptForMMPChangedAction()); buildSettingsUI.setDefaultMMPChangedAction(defaultMMPChangedAction()); buildSettingsUI.setUseBuiltInEnvVars(useBuiltInX86Vars()); + buildSettingsUI.setDontPromtTrackDeps(promtDontTrackDependencies()); if (SBSv2Utils.enableSBSv2Support()) { buildSettingsUI.setDefaultCleanLevelv2(getCleanLevelv2()); @@ -83,6 +84,7 @@ store.setValue(BuilderPreferenceConstants.PREF_MMP_CHANGED_ACTION_PROMPT, buildSettingsUI.getPromptForMMPChangedAction()); store.setValue(BuilderPreferenceConstants.PREF_DEFAULT_MMP_CHANGED_ACTION, buildSettingsUI.getDefaultMMPChangedAction()); store.setValue(BuilderPreferenceConstants.PREF_USE_BUILIN_X86_VARS, buildSettingsUI.getUseBuiltInEnvVars()); + store.setValue(BuilderPreferenceConstants.PREF_DONT_PROMPT_FOR_DEPENDENCY_MISMATCH, buildSettingsUI.getDontPromtTrackDeps()); // global setting only if (SBSv2Utils.enableSBSv2Support()) { store.setValue(BuilderPreferenceConstants.PREF_CLEAN_LEVEL_V2, buildSettingsUI.getDefaultCleanLevelv2()); @@ -103,6 +105,7 @@ buildSettingsUI.setPromptForMMPChangedAction(true); buildSettingsUI.setDefaultMMPChangedAction(0); buildSettingsUI.setUseBuiltInEnvVars(true); + buildSettingsUI.setDontPromtTrackDeps(false); if (SBSv2Utils.enableSBSv2Support()) { buildSettingsUI.setDefaultCleanLevelv2(0); @@ -152,7 +155,16 @@ IPreferenceStore store = CarbideBuilderPlugin.getDefault().getPreferenceStore(); return store.getBoolean(BuilderPreferenceConstants.PREF_MMP_CHANGED_ACTION_PROMPT); } - + + /** + * For SBSv1 global preferences only + * @return + */ + public static boolean promtDontTrackDependencies(){ + IPreferenceStore store = CarbideBuilderPlugin.getDefault().getPreferenceStore(); + return store.getBoolean(BuilderPreferenceConstants.PREF_DONT_PROMPT_FOR_DEPENDENCY_MISMATCH); + } + public static int defaultMMPChangedAction() { IPreferenceStore store = CarbideBuilderPlugin.getDefault().getPreferenceStore(); return store.getInt(BuilderPreferenceConstants.PREF_DEFAULT_MMP_CHANGED_ACTION); diff -r 55ef76a19104 -r 539b1b65d45f builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/ui/CarbideCPPBuilderUIHelpIds.java --- a/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/ui/CarbideCPPBuilderUIHelpIds.java Mon Jul 06 14:53:12 2009 -0500 +++ b/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/ui/CarbideCPPBuilderUIHelpIds.java Mon Jul 06 14:59:19 2009 -0500 @@ -32,4 +32,5 @@ public static final String CARBIDE_BUILDER_SIS_DIALOG = CarbideBuilderPlugin.PLUGIN_ID + ".builder_sis_dialog"; //$NON-NLS-1$ public static final String CARBIDE_BUILDER_MMP_CHANGED_ACTION_DIALOG = CarbideBuilderPlugin.PLUGIN_ID + ".builder_mmp_changed_action_dialog"; //$NON-NLS-1$ public static final String CARBIDE_BUILDER_MMP_SELECTION_DIALOG = CarbideBuilderPlugin.PLUGIN_ID + ".builder_mmp_selection_dialog"; //$NON-NLS-1$ + public static final String CARBIDE_BUILDER_TRACK_DEPENDENCIES_QUERY_DIALOG = CarbideBuilderPlugin.PLUGIN_ID + ".dependency_tracking_dialog"; //$NON-NLS-1$ } diff -r 55ef76a19104 -r 539b1b65d45f builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/ui/TrackDependenciesQueryDialog.java --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/ui/TrackDependenciesQueryDialog.java Mon Jul 06 14:59:19 2009 -0500 @@ -0,0 +1,181 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of the License "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: +* +*/ +package com.nokia.carbide.cdt.internal.builder.ui; + +import org.eclipse.jface.dialogs.IDialogConstants; +import org.eclipse.jface.dialogs.TrayDialog; +import org.eclipse.jface.preference.IPreferenceStore; +import org.eclipse.jface.window.IShellProvider; +import org.eclipse.swt.SWT; +import org.eclipse.swt.events.*; +import org.eclipse.swt.layout.GridData; +import org.eclipse.swt.layout.GridLayout; +import org.eclipse.swt.widgets.*; +import org.eclipse.ui.PlatformUI; + +import com.nokia.carbide.cdt.builder.BuilderPreferenceConstants; +import com.nokia.carbide.cdt.builder.CarbideBuilderPlugin; +import com.nokia.carbide.cdt.builder.project.ICarbideProjectInfo; +import com.nokia.carbide.cdt.builder.project.ICarbideProjectModifier; +import com.nokia.carbide.cdt.internal.builder.CarbideProjectInfo; + + +public class TrackDependenciesQueryDialog extends TrayDialog { + + private Button okButton; + private Button trackDependenciesRadio; + private Button dontTrackDependenciesRadio; + private Button dontAskAgainCheck; + + private boolean userWantsToTrackDeps = false; + + private ICarbideProjectInfo cpi; + + /** + * Dialog presented to user when users is building with SBSv1 and built the project first from the command-line. + * The user will be asked whether or not Carbide should manage the dependencies. This dialog will also handle writing + * the persistent data for the global and project settings. + * + * Unpon calling open(), the dialog will return IDialogConstants for OK and CANCEL, where OK means Carbide should track dependencies. + * + * @param shell + * @param cpi, the current project to save data to + */ + public TrackDependenciesQueryDialog(Shell shell, ICarbideProjectInfo cpi) { + super(shell); + this.cpi = cpi; + setShellStyle(getShellStyle() | SWT.RESIZE); + } + + /** + * @param parentShell + */ + public TrackDependenciesQueryDialog(IShellProvider parentShell) { + super(parentShell); + } + + /* (non-Javadoc) + * @see org.eclipse.jface.dialogs.Dialog#createDialogArea(org.eclipse.swt.widgets.Composite) + */ + protected Control createDialogArea(Composite parent) { + + Composite composite = (Composite) super.createDialogArea(parent); + composite.setLayout(new GridLayout()); + composite.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); + + Label epocrootLabel = new Label(composite, SWT.WRAP); + epocrootLabel.setLayoutData(new GridData(450, SWT.DEFAULT)); + epocrootLabel.setText(Messages.getString("TrackDependenciesQueryDialog.0")); //$NON-NLS-1$ + + // filler + new Label(composite, SWT.WRAP); + + trackDependenciesRadio = new Button(composite, SWT.RADIO); + trackDependenciesRadio.setText(Messages.getString("TrackDependenciesQueryDialog.1")); //$NON-NLS-1$ + trackDependenciesRadio.setToolTipText(Messages.getString("TrackDependenciesQueryDialog.2")); //$NON-NLS-1$ + trackDependenciesRadio.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 3, 1)); + trackDependenciesRadio.setSelection(false); + addButtonListener(trackDependenciesRadio); + + dontTrackDependenciesRadio = new Button(composite, SWT.RADIO); + dontTrackDependenciesRadio.setText(Messages.getString("TrackDependenciesQueryDialog.3")); //$NON-NLS-1$ + dontTrackDependenciesRadio.setToolTipText(Messages.getString("TrackDependenciesQueryDialog.4")); //$NON-NLS-1$ + dontTrackDependenciesRadio.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 3, 1)); + dontTrackDependenciesRadio.setSelection(true); + addButtonListener(dontTrackDependenciesRadio); + + dontAskAgainCheck = new Button(composite, SWT.CHECK); + dontAskAgainCheck.setText(Messages.getString("TrackDependenciesQueryDialog.5")); //$NON-NLS-1$ + dontAskAgainCheck.setToolTipText(Messages.getString("TrackDependenciesQueryDialog.6")); //$NON-NLS-1$ + GridData gd = new GridData(); + gd.horizontalIndent = 25; + dontAskAgainCheck.setLayoutData(gd); + dontAskAgainCheck.setEnabled(true); + dontAskAgainCheck.setSelection(false); + + return composite; + } + + /* (non-Javadoc) + * @see org.eclipse.jface.window.Window#configureShell(org.eclipse.swt.widgets.Shell) + */ + protected void configureShell(Shell shell) { + super.configureShell(shell); + PlatformUI.getWorkbench().getHelpSystem().setHelp(shell, CarbideCPPBuilderUIHelpIds.CARBIDE_BUILDER_TRACK_DEPENDENCIES_QUERY_DIALOG); + shell.setText("Project rebuild notification"); //$NON-NLS-1$ + } + + @Override + protected void createButtonsForButtonBar(Composite parent) { + okButton = createButton(parent, IDialogConstants.OK_ID, + IDialogConstants.OK_LABEL, true); + } + + @Override + protected void okPressed() { + + if (dontTrackDependenciesRadio.getSelection() == true){ + + ICarbideProjectModifier cpm = CarbideBuilderPlugin.getBuildManager().getProjectModifier(cpi.getProject()); + cpm.writeProjectSetting(CarbideProjectInfo.MANAGE_DEPENDENCIES, "false"); + cpm.writeProjectSetting(CarbideProjectInfo.OVERRIDE_WORKSPACE_SETTINGS_KEY, "true"); + cpm.saveChanges(); + + if (dontAskAgainCheck.getSelection() == true){ + // set the global pref + IPreferenceStore prefsStore = CarbideBuilderPlugin.getDefault().getPreferenceStore(); + prefsStore.setValue(BuilderPreferenceConstants.PREF_DONT_PROMPT_FOR_DEPENDENCY_MISMATCH, true); + } + } else { + // nothing pref option to save + } + + // cache so we can get value after widgets disposed + userWantsToTrackDeps = trackDependenciesRadio.getSelection(); + + super.okPressed(); + } + + /** + * Sets the listener event to a button. + * + * @param aButton + */ + private void addButtonListener( final Button aButton ) { + SelectionListener listener = new SelectionAdapter() { + public void widgetSelected( SelectionEvent e ) { + if (e.getSource().equals(trackDependenciesRadio)) { + dontAskAgainCheck.setEnabled(false); + } else if (e.getSource().equals(dontTrackDependenciesRadio)) { + dontAskAgainCheck.setEnabled(true); + } + } + }; + aButton.addSelectionListener(listener); + } + + @Override + public int open() { + super.open(); + if (userWantsToTrackDeps == true){ + return IDialogConstants.OK_ID; + } else { + return IDialogConstants.CANCEL_ID; + } + } + +} diff -r 55ef76a19104 -r 539b1b65d45f builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/ui/messages.properties --- a/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/ui/messages.properties Mon Jul 06 14:53:12 2009 -0500 +++ b/builder/com.nokia.carbide.cdt.builder/src/com/nokia/carbide/cdt/internal/builder/ui/messages.properties Mon Jul 06 14:59:19 2009 -0500 @@ -105,6 +105,8 @@ BuildSettingsUI.SBSv1TabToolTip=Symbian OS Build System version 1 builder settings BuildSettingsUI.SBSv2TabLabel=SBSv2 BuildSettingsUI.SBSv2TabToolTip=Symbian OS Build System version 2 builder settings +BuildSettingsUI.SharedPrefs.DontTrackDeps=Do not offer to track dependencies for projects built on command-line +BuildSettingsUI.SharedPrefs.DontTrackDepsToolTip=When enabled, Carbide will not check abld makefiles and promt you to let Carbide manage them. SharedPrefs.CleanCommandLabelText=Clean level: SharedPrefs.CleanCommandLabelToolTip=The type of clean that should be done when cleaning a project. @@ -195,3 +197,10 @@ CarbideRomBuilderTab.Working_Dir_Tool_Tip=Specify the working directory for building the ROM image CarbideRomBuilderTab.Browse=Browse... CarbideRomBuilderTab.Rom_Dir_Dialog_Title=ROM Build Working Directory +TrackDependenciesQueryDialog.0=This project was previously built from the command-line. Carbide can manage the makefile dependencies in this project for faster incremental builds, but a full rebuild wil be required. +TrackDependenciesQueryDialog.1=Improve Carbide build times (forces a rebuild) +TrackDependenciesQueryDialog.2=Carbide will make dependency file for each source file and update makefiles accordingly. +TrackDependenciesQueryDialog.3=Do not update dependencies (slower builds from Carbide, no rebuild) +TrackDependenciesQueryDialog.4=Source dependencies will be managed as they currently exist in abld-generated makefiles. +TrackDependenciesQueryDialog.5=Don't ask me again for any project +TrackDependenciesQueryDialog.6=Carbide will not try to override dependency tracking for projects that are built with abld first. diff -r 55ef76a19104 -r 539b1b65d45f carbidesdk/com.nokia.carbide.cpp.sdk.doc.user/html/reference/api_Change_Notes.htm --- a/carbidesdk/com.nokia.carbide.cpp.sdk.doc.user/html/reference/api_Change_Notes.htm Mon Jul 06 14:53:12 2009 -0500 +++ b/carbidesdk/com.nokia.carbide.cpp.sdk.doc.user/html/reference/api_Change_Notes.htm Mon Jul 06 14:59:19 2009 -0500 @@ -130,7 +130,9 @@
  • com.nokia.carbide.cdt.builder.EpocEngineHelper#getVariantTargetName(IMMPData mmpData, IPath target)
- +
    +
  • com.nokia.carbide.cdt.builder.builder.CarbideCPPBuilder#generateAbldMakefileIfNecessary(ICarbideBuildConfiguration config, CarbideCommandLauncher launcher, IPath componentPath, boolean isTest)
  • +

Removed APIs

The following Carbide APIs have been removed and are no longer available to plug-ins.

Since Carbide 1.2.0

diff -r 55ef76a19104 -r 539b1b65d45f connectivity/com.nokia.carbide.remoteConnections/src/com/nokia/carbide/remoteconnections/settings/ui/ConnectionTypePage.java --- a/connectivity/com.nokia.carbide.remoteConnections/src/com/nokia/carbide/remoteconnections/settings/ui/ConnectionTypePage.java Mon Jul 06 14:53:12 2009 -0500 +++ b/connectivity/com.nokia.carbide.remoteConnections/src/com/nokia/carbide/remoteconnections/settings/ui/ConnectionTypePage.java Mon Jul 06 14:59:19 2009 -0500 @@ -174,8 +174,7 @@ } private Collection getConnectionTypes() { - Collection connectionTypes = - RemoteConnectionsActivator.getConnectionTypeProvider().getConnectionTypes(); + Collection connectionTypes = getValidConnectionTypes(); IService serviceToRestrict = settingsWizard.getServiceToRestrict(); if (serviceToRestrict != null) { List restrictedConnectionTypes = new ArrayList(); @@ -193,6 +192,21 @@ return connectionTypes; } + private Collection getValidConnectionTypes() { + // valid connection types have at least one compatible service, or are the actual connection type of the connection being edited + IConnection connectionToEdit = settingsWizard.getConnectionToEdit(); + IConnectionType connectionTypeToEdit = connectionToEdit != null ? connectionToEdit.getConnectionType() : null; + Collection allConnectionTypes = + RemoteConnectionsActivator.getConnectionTypeProvider().getConnectionTypes(); + Collection connectionTypes = new ArrayList(); + for (IConnectionType connectionType : allConnectionTypes) { + if (!RemoteConnectionsActivator.getConnectionTypeProvider().getCompatibleServices(connectionType).isEmpty() || + connectionType.equals(connectionTypeToEdit)) + connectionTypes.add(connectionType); + } + return connectionTypes; + } + private boolean validatePage() { setErrorMessage(null); String name = getName(); diff -r 55ef76a19104 -r 539b1b65d45f core/com.nokia.carbide.cpp-feature/feature.xml --- a/core/com.nokia.carbide.cpp-feature/feature.xml Mon Jul 06 14:53:12 2009 -0500 +++ b/core/com.nokia.carbide.cpp-feature/feature.xml Mon Jul 06 14:59:19 2009 -0500 @@ -314,8 +314,8 @@ - - + + diff -r 55ef76a19104 -r 539b1b65d45f core/com.nokia.carbide.cpp.doc.user/html/concepts/dependency_tracking.htm --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/core/com.nokia.carbide.cpp.doc.user/html/concepts/dependency_tracking.htm Mon Jul 06 14:59:19 2009 -0500 @@ -0,0 +1,32 @@ + + + + + + +Dependency Tracking + + + + +

Dependency Tracking

+

This section only applies to the SBSv1 (abld) build system. If you are using the Raptor (SBSv2) build system Carbide does not perform any build system modifications to optimize dependency tracking.

+

Carbide has made some performance improvements over command-line builds when performing incremental builds. Once a project has been built, many users invoke 'abld build' on their project, not knowing that their makefiles are regenerated each time, taking a large performance hit. Although a command-line user can invoke 'abld target' to improve incremental build performance, Carbide invokes each build stage independently for a full incremental build (including the 'abld makefile' stage). In order to get around this performance hit from the IDE, Carbide manages the source and resource dependencies in separate .d (dependency) files generated under the build system. Then Carbide makes a small modification to each component's (MMP) makefile under the \epoc32\build\ directory by including the generated .d files as dependency includes. This performance modification makes incremental builds faster from Carbide.

+

Normally, you do not need to know the details of dependency management unless you first build from the command-line and then try to build their project from the IDE. When this happens, Carbide will prompt you with the Project rebuild notification dialog when you initiate a build from the IDE.

+

+

Figure 1 -Dependency Tracking dialog

+

It is recommended you choose the Improve Carbide build times option if you plan to continue building in Carbide. However, be cautious of this as Carbide will remove all the object code and build everything from scratch.

+

If you choose the option Do not update dependencies, Carbide disables the option to manage dependencies under the Carbide Project Settings, SBSv1 tab.

+
Related references
+ + + + + diff -r 55ef76a19104 -r 539b1b65d45f core/com.nokia.carbide.cpp.doc.user/html/concepts/images/deps_track_query.png Binary file core/com.nokia.carbide.cpp.doc.user/html/concepts/images/deps_track_query.png has changed diff -r 55ef76a19104 -r 539b1b65d45f core/com.nokia.carbide.cpp.doc.user/html/context_help/carbide_debug_dialogs_help.xml --- a/core/com.nokia.carbide.cpp.doc.user/html/context_help/carbide_debug_dialogs_help.xml Mon Jul 06 14:53:12 2009 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/context_help/carbide_debug_dialogs_help.xml Mon Jul 06 14:59:19 2009 -0500 @@ -1,379 +1,379 @@ - - - - - - - - - - - - - - - - - - - - - - Carbide.c++ global debugger settings - - - - - - - - - - - - - - - - - - - Use the Symbian OS Data view to view processes, threads, chunks, and library information - - - - - - - - The Overview pane displays kernel objects by their heirarchical owner relationship - - - - - - - - The Processes pane lists processes in the target's Symbian OS - - - - - - - - The Threads pane lists threads in the target's Symbian OS - - - - - - - - The Chunks pane lists chunks in the target's Symbian OS - - - - - - - - The Libraries pane lists libraries in the target's Symbian OS - - - - - - - - - - - - - - Control which executables are included in the debug process. - - - - - - - - - - - Define the project's launch configuration. - - - - - - - Define the project's launch configuration. - - - - - - - Control symbolics loading and other debugger options. - - - - - - - Control the exceptions the debugger should catch. - - - - - - - - - - - - Create an Attach to Process launch configuration. - - - - - - - Attaching to a process on the target device. - - - - - - - - - - - - - Control symbolics loading and other debugger options. - - - - - S - - - - Control entry points, message handling, and instruction set default settings. - - - - - - - - - Specify the method used to transfer files to the target device. - - - - - - - - - Specify the .sis file to install on the target device. - - - - - - - - - Manage the files transfered to the target device at the start of each launch. - - - - - - - - - Select additional files for addition to the file transfer list. - - - - - - - - - - - - - - Control symbolics loading and other debugger options. - - - - - - - - Control entry points, message handling, and instruction set default settings. - - - - - - - - Specify the settings for Trace32 debugging. - - - - - - - - Specify the settings for Sophia debugging. - - - - - - - - - Specify the ROM image details. - - - - - - - Specify the ROM Log file details. - - - - - - - - - - - - - Select the target device category. - - - - - - Control which executables are included in the debug process. - - - - - - Select a launch type to create a launch configuration. - - - - - - - - Review launch configuration information. - - - - - - Specify Sophia configuration information. - - - - - - Specify Trace32 configuration information. - - - - - - Specify TRK connection information. - - - - - - Specify TRK SIS connection information. - - - - - - Specify ROM image information. - - - - - - - Define startup options and ROM image download information. - - - - - - - Specify the SIS file to install. - - - - - - - Specify SIS information. - - - - - - Learn how to connect to a device using Bluetooth. - - - - - - Learn how to connect to a device using USB. - - - - - - Connect and verify the version of TRK on the device. - - - - - - Download and install the latest TRK to the device. - - - - - - - - Select how auto build applies to this launch configuration. - - - - - + + + + + + + + + + + + + + + + + + + + + + Carbide.c++ global debugger settings + + + + + + + + + + + + + + + + + + + Use the Symbian OS Data view to view processes, threads, chunks, and library information + + + + + + + + The Overview pane displays kernel objects by their heirarchical owner relationship + + + + + + + + The Processes pane lists processes in the target's Symbian OS + + + + + + + + The Threads pane lists threads in the target's Symbian OS + + + + + + + + The Chunks pane lists chunks in the target's Symbian OS + + + + + + + + The Libraries pane lists libraries in the target's Symbian OS + + + + + + + + + + + + + + Control which executables are included in the debug process. + + + + + + + + + + + Define the project's launch configuration. + + + + + + + Define the project's launch configuration. + + + + + + + Control symbolics loading and other debugger options. + + + + + + + Control the exceptions the debugger should catch. + + + + + + + + + + + + Create an Attach to Process launch configuration. + + + + + + + Attaching to a process on the target device. + + + + + + + + + + + + + Control symbolics loading and other debugger options. + + + + + S + + + + Control entry points, message handling, and instruction set default settings. + + + + + + + + + Specify the method used to transfer files to the target device. + + + + + + + + + Specify the .sis file to install on the target device. + + + + + + + + + Manage the files transfered to the target device at the start of each launch. + + + + + + + + + Select additional files for addition to the file transfer list. + + + + + + + + + + + + + + Control symbolics loading and other debugger options. + + + + + + + + Control entry points, message handling, and instruction set default settings. + + + + + + + + Specify the settings for Trace32 debugging. + + + + + + + + Specify the settings for Sophia debugging. + + + + + + + + + Specify the ROM image details. + + + + + + + Specify the ROM Log file details. + + + + + + + + + + + + + Control which executables are included in the debug process. + + + + + + Select a launch type to create a launch configuration. + + + + + + + + Review launch configuration information. + + + + + + Specify Sophia configuration information. + + + + + + Specify Trace32 configuration information. + + + + + + Specify TRK connection information. + + + + + + Specify TRK SIS connection information. + + + + + + Specify ROM image information. + + + + + + + Define startup options and ROM image download information. + + + + + + + Specify the SIS file to install. + + + + + + + Specify SIS information. + + + + + + Learn how to connect to a device using Bluetooth. + + + + + + Learn how to connect to a device using USB. + + + + + + Connect and verify the version of TRK on the device. + + + + + + Download and install the latest TRK to the device. + + + + + + + Select the target device category. + + + + + + + Select how auto build applies to this launch configuration. + + + + + diff -r 55ef76a19104 -r 539b1b65d45f core/com.nokia.carbide.cpp.doc.user/html/context_help/carbide_ide_dialogs_help.xml --- a/core/com.nokia.carbide.cpp.doc.user/html/context_help/carbide_ide_dialogs_help.xml Mon Jul 06 14:53:12 2009 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/context_help/carbide_ide_dialogs_help.xml Mon Jul 06 14:59:19 2009 -0500 @@ -73,7 +73,11 @@ - + + + Managing makefile dependencies + + diff -r 55ef76a19104 -r 539b1b65d45f core/com.nokia.carbide.cpp.doc.user/html/projects/launch/wiz_new_launch_config.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/projects/launch/wiz_new_launch_config.htm Mon Jul 06 14:53:12 2009 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/projects/launch/wiz_new_launch_config.htm Mon Jul 06 14:59:19 2009 -0500 @@ -27,6 +27,15 @@ + Emulation + + + + Application TRK and System TRK

To access the New Launch Configurtion Wizard click the Debug icon (). If no launch configuration exists for the build target the wizard is launched. If a launch configuration already exists, then that launch configuration is launched and not the wizard.

-For emulator targets, the New Launch Configuration Wizard automatically gathers all the information it needs from the project, so clicking Debug just launches the debug session.

Figure 1 - Build Target selection list

Category Types

@@ -68,7 +75,7 @@

Figure 3 - Launch Type page

Build Options Selection

-

Use the Build Options Selection page to define if the launch configuration uses auto build or not. Choices include using the global auto built setting (default), enable or disable auto build for the launch configuration. You can also set the global option using the Configure Workspace Settings... to open the Launching preference panel.

+

Use the Build Options Selection page to define if the launch configuration uses automatic build or not. Choices include using the global automatic built setting (default), enable or disable automatic build for the launch configuration. You can also set the global option using the Configure Workspace Settings... to open the Launching preference panel.

Figure 4 - Build Options Selection page

Executable Selection

diff -r 55ef76a19104 -r 539b1b65d45f core/com.nokia.carbide.cpp.doc.user/html/reference/ProjectOtherSettings.html --- a/core/com.nokia.carbide.cpp.doc.user/html/reference/ProjectOtherSettings.html Mon Jul 06 14:53:12 2009 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/reference/ProjectOtherSettings.html Mon Jul 06 14:59:19 2009 -0500 @@ -1,31 +1,31 @@ - -Other Settings - - - -
-

Other Settings

-
-

- Specify the name of the author and copyright notice information. -

- -

-

Figure 1 - Other settings page

-
Table 1 - Other settings page options
- - -
NameFunction
-

- Author

-

Enter author information. -

-

- Copyright notice

-

Enter copyright notice information.

- - - - + +Other Settings + + + +
+

Other Settings

+
+

+ Specify the name of the author and copyright notice information. +

+ +

+

Figure 1 - Other settings page

+
Table 1 - Other settings page options
+ + +
NameFunction
+

+ Author

+

Enter author information. +

+

+ Copyright notice

+

Enter copyright notice information.

+ + + + \ No newline at end of file diff -r 55ef76a19104 -r 539b1b65d45f core/com.nokia.carbide.cpp.doc.user/html/reference/images/build_pkg_file.png Binary file core/com.nokia.carbide.cpp.doc.user/html/reference/images/build_pkg_file.png has changed diff -r 55ef76a19104 -r 539b1b65d45f core/com.nokia.carbide.cpp.doc.user/html/reference/images/build_symbian_comp.png Binary file core/com.nokia.carbide.cpp.doc.user/html/reference/images/build_symbian_comp.png has changed diff -r 55ef76a19104 -r 539b1b65d45f core/com.nokia.carbide.cpp.doc.user/html/reference/images/menu_abld.png Binary file core/com.nokia.carbide.cpp.doc.user/html/reference/images/menu_abld.png has changed diff -r 55ef76a19104 -r 539b1b65d45f core/com.nokia.carbide.cpp.doc.user/html/reference/launch_configs/app_trk_installation.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/reference/launch_configs/app_trk_installation.htm Mon Jul 06 14:53:12 2009 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/reference/launch_configs/app_trk_installation.htm Mon Jul 06 14:59:19 2009 -0500 @@ -1,71 +1,71 @@ - - - - - - -Installation Pane - - - -

Installation Pane

-

The Debug or launch configuration window's Installation pane specifies the .sis file to install on the target device when using Application TRK. This is required when using the TRK debug agent with 9.x based SDK’s.

-

-

Figure 1 - Debug window's Installation pane

-
Table 1. Installation pane —items
- - - - - - - - - - - - - - - - - - - - - - - - - -
ItemExplanation

Installation file

-

 

Enter the complete path to the .sis or .pkg file to install on the target device or click Browse to use the standard file selection dialog.

-
Download directory The directory on the target device to download the file into before installing it. The default directory value is C:\data\.
Install each launch even if installer file has not changed Enable this option to force an update of the installed file even if no changes have been detected. This ensures a clean program install for each debug session.
Do not show installer UI on the phone Use this option to specify if the installer UI on the target device is shown when installing the file. Disabling this option may require interaction with the installer UI on the target device, slowing down the install process. The default setting is on.
Install to drive A list of common drives where files may be installed to. The default drive setting is C.
- -
-

To access the Installation Pane

-
    -
  1. Select the Run > Debug... menu item
  2. -

    The Debug window appears.

    -
  3. Select a Symbian OS Application TRK configuration in the Configurations list
  4. -
  5. Click Installer tab
  6. -

    The Installation pane appears (Figure 1).

    -
-
-
Common concepts
- -
Common references
- - - - - + + + + + + +Installation Pane + + + +

Installation Pane

+

The Debug or launch configuration windows Installation pane specifies the .sis file to install on the target device when using Application TRK. This is required when using the TRK debug agent with 9.x based SDK’s.

+

+

Figure 1 - Debug windows Installation pane

+
Table 1. Installation pane —items
+ + + + + + + + + + + + + + + + + + + + + + + + + +
ItemExplanation

Installation file

+

 

Enter the complete path to the .sis or .pkg file to install on the target device or click Browse to use the standard file selection dialog.

+
Download directory The directory on the target device to download the file into before installing it. The default directory value is C:\data\.
Install each launch even if installer file has not changed Enable this option to force an update of the installed file even if no changes have been detected. This ensures a clean program install for each debug session.
Do not show installer UI on the phone Use this option to specify if the installer UI on the target device is shown when installing the file. Disabling this option may require interaction with the installer UI on the target device, slowing down the install process. The default setting is on.
Install to drive A list of common drives where files may be installed to. The default drive setting is C.
+ +
+

To access the Installation Pane

+
    +
  1. Select the Run > Debug... menu item
  2. +

    The Debug window appears.

    +
  3. Select a Symbian OS Application TRK configuration in the Configurations list
  4. +
  5. Click Installer tab
  6. +

    The Installation pane appears (Figure 1).

    +
+
+
Common concepts
+ +
Common references
+ + + + + diff -r 55ef76a19104 -r 539b1b65d45f core/com.nokia.carbide.cpp.doc.user/html/reference/launch_configs/emulator_debugger.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/reference/launch_configs/emulator_debugger.htm Mon Jul 06 14:53:12 2009 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/reference/launch_configs/emulator_debugger.htm Mon Jul 06 14:59:19 2009 -0500 @@ -1,73 +1,73 @@ - - - - - - -Debugger Pane - - - -

Debugger Pane

-

The Debug/Run window's Debugger pane provides control entry point breaks and which consoles are active to show logs.

-

-

Figure 1 - Debug window's Debugger tab

-
Table 1. Debugger pane —items
- - - - - - - - - - - - - - - - - - - - - -
ItemExplanation
Break at entry point Select to halt program execution at a specified - function or address. Enter the desired function - name or address in the corresponding field. If you - enter an address, ensure that it is correct and within - your program.
View program output

Enable to direct standard output messages to the Emulation Program Output Console in the Console view.

-

NOTE In the epoc.ini file the option LogToFile must also be set to 1.

View emulator output

Enable to output emulator messages to the Emulator Output Console in the Console view.

-

NOTE In the epoc.ini file the option LogToDebugger must also be set to 1.

View Windows system messages Enable to output Windows system messages to the Windows System Messages Console in the Console view.
- -
-

To access the Debug window

-
    -
  1. Select the Run > Debug... menu item
  2. -

    The Debug window appears.

    -
  3. Select a Configuration setting
  4. -
  5. Click Debugger tab
  6. -

    The Debugger pane appears (Figure 1).

    -
-
-
Common concepts
- -
Common tasks
- -
Common references
- - - - + + + + + + +Debugger Pane + + + +

Debugger Pane

+

The Debug/Run windows Debugger pane provides control entry point breaks and which consoles are active to show logs.

+

+

Figure 1 - Debug windows Debugger tab

+
Table 1. Debugger pane —items
+ + + + + + + + + + + + + + + + + + + + + +
ItemExplanation
Break at entry point Select to halt program execution at a specified + function or address. Enter the desired function + name or address in the corresponding field. If you + enter an address, ensure that it is correct and within + your program.
View program output

Enable to direct standard output messages to the Emulation Program Output Console in the Console view.

+

NOTE In the epoc.ini file the option LogToFile must also be set to 1.

View emulator output

Enable to output emulator messages to the Emulator Output Console in the Console view.

+

NOTE In the epoc.ini file the option LogToDebugger must also be set to 1.

View Windows system messages Enable to output Windows system messages to the Windows System Messages Console in the Console view.
+ +
+

To access the Debug window

+
    +
  1. Select the Run > Debug... menu item
  2. +

    The Debug window appears.

    +
  3. Select a Configuration setting
  4. +
  5. Click Debugger tab
  6. +

    The Debugger pane appears (Figure 1).

    +
+
+
Common concepts
+ +
Common tasks
+ +
Common references
+ + + + \ No newline at end of file diff -r 55ef76a19104 -r 539b1b65d45f core/com.nokia.carbide.cpp.doc.user/html/reference/launch_configs/emulator_exceptions.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/reference/launch_configs/emulator_exceptions.htm Mon Jul 06 14:53:12 2009 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/reference/launch_configs/emulator_exceptions.htm Mon Jul 06 14:59:19 2009 -0500 @@ -1,59 +1,59 @@ - - - - - - -x86 Exceptions Pane - - - -

x86 Exceptions Pane

-

The Debug/Run window's x86 Exceptions pane lists all the exceptions that the debugger is able to catch. If you want the debugger to catch all the exceptions, enable all of the options in this view. However, if you prefer to handle only certain exceptions, enable only those options that reflect the exceptions you prefer to handle.

-

-

Figure 1 - x86 Exceptions pane

-
Table 1. x86 Exceptions pane —items
- - - - - - - - - - - - - -
ItemExplanation
Check All Enables catching all exceptions.
Clear All Disables catching all exceptions.
-
-

To access the x86 Exceptions pane

-
    -
  1. Select the Run > Run... or Run > Debug... menu item
  2. -

    The Debug window (Figure 1) appears.

    -
  3. Select a Configuration setting
  4. -
  5. Click x86 Exceptions tab
  6. -

    The x86 Exceptions pane appears.

    -
-
-
Common concepts
- -
Common tasks
- -
Common references
- - - - - - + + + + + + +x86 Exceptions Pane + + + +

x86 Exceptions Pane

+

The Debug/Run windows x86 Exceptions pane lists all the exceptions that the debugger is able to catch. If you want the debugger to catch all the exceptions, enable all of the options in this view. However, if you prefer to handle only certain exceptions, enable only those options that reflect the exceptions you prefer to handle.

+

+

Figure 1 - x86 Exceptions pane

+
Table 1. x86 Exceptions pane —items
+ + + + + + + + + + + + + +
ItemExplanation
Check All Enables catching all exceptions.
Clear All Disables catching all exceptions.
+
+

To access the x86 Exceptions pane

+
    +
  1. Select the Run > Run... or Run > Debug... menu item
  2. +

    The Debug window (Figure 1) appears.

    +
  3. Select a Configuration setting
  4. +
  5. Click x86 Exceptions tab
  6. +

    The x86 Exceptions pane appears.

    +
+
+
Common concepts
+ +
Common tasks
+ +
Common references
+ + + + + + diff -r 55ef76a19104 -r 539b1b65d45f core/com.nokia.carbide.cpp.doc.user/html/reference/launch_configs/emulator_main.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/reference/launch_configs/emulator_main.htm Mon Jul 06 14:53:12 2009 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/reference/launch_configs/emulator_main.htm Mon Jul 06 14:59:19 2009 -0500 @@ -1,52 +1,52 @@ - - - - - - -Main Pane (Emulator) - - - -

Main Pane (Emulator)

-

The emulator Main pane defines the process to be launched by the emulator.

-

The behavior that occurs when launching a debug session varies based upon the SDK. Normally, starting a debug session launches the emulator (epoc.exe) and you must then navigate to your application and open it. However, starting a debug session for an .exe file will, in most cases, launch the .exe directly. This starts the emulator and then opens your application automatically. Note that some SDKs do not support this behavior. In those cases you must still open your application in the emulator manually.

-

-

Figure 1 - Debug window's emulator's Main tab

-
Table 1. Emulator Main pane —items
- - - - - - - - - - - - - -
ItemExplanation
Project

The project to associate with this debug launch configuration. Click Browse to select a different project.

Process to launch The path to the emulator or executable to launch. For Symbian OS 9.1 the emulator path is required. For Symbian OS 9.2 and later the path to the executable should be used. Click Browse to select a different emulator.
- -
-

To access the Main Pane

-
    -
  1. Select the Run > Debug... menu item
  2. -

    The Debug window appears.

    -
  3. Select a Symbian OS System emulator configuration in the Configurations list
  4. -
  5. Click Main tab
  6. -

    The Main pane appears (Figure 1).

    -
-
-
Other references
- - - - + + + + + + +Main Pane (Emulator) + + + +

Main Pane (Emulator)

+

The emulator Main pane defines the process to be launched by the emulator.

+

The behavior that occurs when launching a debug session varies based upon the SDK. Normally, starting a debug session launches the emulator (epoc.exe) and you must then navigate to your application and open it. However, starting a debug session for an .exe file will, in most cases, launch the .exe directly. This starts the emulator and then opens your application automatically. Note that some SDKs do not support this behavior. In those cases you must still open your application in the emulator manually.

+

+

Figure 1 - Debug windows emulator's Main tab

+
Table 1. Emulator Main pane —items
+ + + + + + + + + + + + + +
ItemExplanation
Project

The project to associate with this debug launch configuration. Click Browse to select a different project.

Process to launch The path to the emulator or executable to launch. For Symbian OS 9.1 the emulator path is required. For Symbian OS 9.2 and later the path to the executable should be used. Click Browse to select a different emulator.
+ +
+

To access the Main Pane

+
    +
  1. Select the Run > Debug... menu item
  2. +

    The Debug window appears.

    +
  3. Select a Symbian OS System emulator configuration in the Configurations list
  4. +
  5. Click Main tab
  6. +

    The Main pane appears (Figure 1).

    +
+
+
Other references
+ + + + \ No newline at end of file diff -r 55ef76a19104 -r 539b1b65d45f core/com.nokia.carbide.cpp.doc.user/html/reference/launch_configs/page_connection.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/reference/launch_configs/page_connection.htm Mon Jul 06 14:53:12 2009 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/reference/launch_configs/page_connection.htm Mon Jul 06 14:59:19 2009 -0500 @@ -1,81 +1,81 @@ - - - - - - -Connection Pane - - - -

Connection Pane

-

The Connection pane specifies the method used to transfer files to the target device. Once a Serial Port type is chosen, the remaining options contain default values for the specific connection type. Users can change these remaining options to match the target device's communication specifications.

-

-

Figure 1 - Debug window's Connection pane

-
Table 1. Connection pane —items
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ItemExplanation
Serial Port

Select the serial port option to use for this launch or launch configuration. Once set, this port will be used for all subsequent launch configurations until it is set again. Note that for USB and BT can be dynamically assigned, so its critical that the port ID assigned here matches the one the system is using to communicate with the target device.

-

If you are using a USB connection, the connected phone's name should appear in the menu to help identify which port is being used.

Baud Rate Use the Baud Rate option to select the baud rate for communication. The default baud rate value is 115200 bits per second (bps).
Data Bits Use the Data Bits option to select a common data bits size (4, 5, 6, 7, and 8). The default data bits value is 8.
ParityUse the Parity option to select the parity setting (None, Odd, or Even). The default parity value is None.
Stop Bits Use the Stop Bits option to select the stop bits setting (1, 1.5, 2). The default stop bits value is 1.
Flow Control Use the Flow Control option to select the flow control setting (None, Hardware (RTS/CTS), and Software (XON/XOFF)). The default flow control value is None.
- -
-

To access the Connection Pane

-
    -
  1. Select the Run > Debug... menu item
  2. -

    The Debug window appears.

    -
  3. Select a Symbian OS Application TRK configuration in the Configurations list
  4. -
  5. Click Connection tab
  6. -

    The Connection pane appears (Figure 1).

    -
-
-
Common concepts
- -
Common tasks
- -
Common references
- - - - - + + + + + + +Connection Pane + + + +

Connection Pane

+

The Connection pane specifies the method used to transfer files to the target device. Once a Serial Port type is chosen, the remaining options contain default values for the specific connection type. Users can change these remaining options to match the target device's communication specifications.

+

+

Figure 1 - Debug windows Connection pane

+
Table 1. Connection pane —items
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ItemExplanation
Serial Port

Select the serial port option to use for this launch or launch configuration. Once set, this port will be used for all subsequent launch configurations until it is set again. Note that for USB and BT can be dynamically assigned, so its critical that the port ID assigned here matches the one the system is using to communicate with the target device.

+

If you are using a USB connection, the connected phone's name should appear in the menu to help identify which port is being used.

Baud Rate Use the Baud Rate option to select the baud rate for communication. The default baud rate value is 115200 bits per second (bps).
Data Bits Use the Data Bits option to select a common data bits size (4, 5, 6, 7, and 8). The default data bits value is 8.
ParityUse the Parity option to select the parity setting (None, Odd, or Even). The default parity value is None.
Stop Bits Use the Stop Bits option to select the stop bits setting (1, 1.5, 2). The default stop bits value is 1.
Flow Control Use the Flow Control option to select the flow control setting (None, Hardware (RTS/CTS), and Software (XON/XOFF)). The default flow control value is None.
+ +
+

To access the Connection Pane

+
    +
  1. Select the Run > Debug... menu item
  2. +

    The Debug window appears.

    +
  3. Select a Symbian OS Application TRK configuration in the Configurations list
  4. +
  5. Click Connection tab
  6. +

    The Connection pane appears (Figure 1).

    +
+
+
Common concepts
+ +
Common tasks
+ +
Common references
+ + + + + diff -r 55ef76a19104 -r 539b1b65d45f core/com.nokia.carbide.cpp.doc.user/html/reference/launch_configs/page_executables.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/reference/launch_configs/page_executables.htm Mon Jul 06 14:53:12 2009 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/reference/launch_configs/page_executables.htm Mon Jul 06 14:59:19 2009 -0500 @@ -1,73 +1,73 @@ - - - - - - -Executables Pane - - - -

Executables Pane

-

The Executables pane specifies which executables to debug with your project based on the chosen rule. The Executables pane gives you project level control over the executables associated with it. The pane shows all the executables in the workspace or those imported into the Executables view from outside the workspace that can be debugged by this project. See the Executables view for information on controlling executables from the workspace.

-

-

Figure 1 - Debug window's Executables pane

-
Table 1. Executable pane —items
- - - - - - - - - - - - - - - - - - - - - - - - - -
ItemExplanation
Load symbols for these executables and target them for debugging

Select the rule which govern the executable support used by this project for debugging purposes. The options include:

-
    -
  • Executables in the workspace from this SDK — shows all executables in the workspace built using the specified SDK. This is the default setting.
  • -
  • Executables built by this project — shows only the executables built by this project using the specified SDK
  • -
  • Executables selected below — shows only the executables chosen by the user. Initial list display uses the All Executables listing.
  • -
  • All executables (slows launch) — shows all the executables in the workspace regardless of which SDK created them. Selecting this option will slow down Carbide launches as the list is populated.
  • -
-
Executables list Shows all the executables associated with this project.
Add...Opens the Select an executable file dialog which can locate and select executable files and add them to the project's executables list.
Select All Enables all the executables in the list for debugging.
Unselect All Disables all the executables in the list from debugging.
-
-

To access the Executables Pane

-
    -
  1. Select the Run > Open Debug Dialog... menu item
  2. -

    The Debug window appears.

    -
  3. Select a Symbian OS Application TRK configuration in the Configurations list
  4. -
  5. Click Executables tab
  6. -

    The Executables pane appears (Figure 1).

    -
-
-
Common concepts
- -
Common references
- - - - + + + + + + +Executables Pane + + + +

Executables Pane

+

The Executables pane specifies which executables to debug with your project based on the chosen rule. The Executables pane gives you project level control over the executables associated with it. The pane shows all the executables in the workspace or those imported into the Executables view from outside the workspace that can be debugged by this project. See the Executables view for information on controlling executables from the workspace.

+

+

Figure 1 - Debug windows Executables pane

+
Table 1. Executable pane —items
+ + + + + + + + + + + + + + + + + + + + + + + + + +
ItemExplanation
Load symbols for these executables and target them for debugging

Select the rule which govern the executable support used by this project for debugging purposes. The options include:

+
    +
  • Executables in the workspace from this SDK — shows all executables in the workspace built using the specified SDK. This is the default setting.
  • +
  • Executables built by this project — shows only the executables built by this project using the specified SDK
  • +
  • Executables selected below — shows only the executables chosen by the user. Initial list display uses the All Executables listing.
  • +
  • All executables (slows launch) — shows all the executables in the workspace regardless of which SDK created them. Selecting this option will slow down Carbide launches as the list is populated.
  • +
+
Executables list Shows all the executables associated with this project.
Add...Opens the Select an executable file dialog which can locate and select executable files and add them to the project's executables list.
Select All Enables all the executables in the list for debugging.
Unselect All Disables all the executables in the list from debugging.
+
+

To access the Executables Pane

+
    +
  1. Select the Run > Open Debug Dialog... menu item
  2. +

    The Debug window appears.

    +
  3. Select a Symbian OS Application TRK configuration in the Configurations list
  4. +
  5. Click Executables tab
  6. +

    The Executables pane appears (Figure 1).

    +
+
+
Common concepts
+ +
Common references
+ + + + \ No newline at end of file diff -r 55ef76a19104 -r 539b1b65d45f core/com.nokia.carbide.cpp.doc.user/html/reference/launch_configs/page_file_transfer.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/reference/launch_configs/page_file_transfer.htm Mon Jul 06 14:53:12 2009 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/reference/launch_configs/page_file_transfer.htm Mon Jul 06 14:59:19 2009 -0500 @@ -1,85 +1,85 @@ - - - - - - -TRK File Transfer Pane - - - -

File Transfer Pane

-

The File Transfer pane displays an auto-populated list of files for System TRK that the IDE transfers to the target device at the start of each launch. Users can add, edit, or delete files in the list. By default, any file added is automatically checked for downloading to the device. Users can uncheck a file to remove it from the download list without removing the file itself. Any missing files are marked with a warning icon and a message appears describing the issue making it easy to see potential file problems prior to attempting a download.

-

System TRK users can use this panel to download any type of file, like bitmaps, HTML, sounds, and more, to the phone and applicable to Application TRK for transfering any files outside of the installation file.

-

-

Figure 1 - Debug window's File Transfer pane

-
Table 1. File Transfer pane —items
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ItemExplanation
File transfer list

The File transfer list displays the project files that are moved to the target device for launch and debugging purposes. It contains these columns:

-
    -
  • Enabled—a checkmark indicates that the IDE should transfer the specified file to the target directory. If unchecked, do not transfer the file.
  • -
  • File to transfer—the path and filename to a file on the host machine to be transfered
  • -
  • Target path—the path to the target directory where transfered files are placed on the device
  • -
AddClick to add a file to the file transfer list.
Edit...Click to edit the selected file in the file transfer list.
RemoveClick to remove the selected file from the file transfer list.
Select AllClick to select all the files in the file transfer list.
Deselect AllClick to unselect all the files in the file transfer list.
- -
-

To access the File Tansfer Pane

-
    -
  1. Select the Run > Debug... menu item
  2. -

    The Debug window appears.

    -
  3. Select a Symbian OS Application TRK configuration in the Configurations list
  4. -
  5. Click File Transfer tab
  6. -

    The File Transfer pane appears (Figure 1).

    -
-
-
Common concepts
- -
Common tasks
- -
Common references
- - - - + + + + + + +TRK File Transfer Pane + + + +

File Transfer Pane

+

The File Transfer pane displays an auto-populated list of files for System TRK that the IDE transfers to the target device at the start of each launch. Users can add, edit, or delete files in the list. By default, any file added is automatically checked for downloading to the device. Users can uncheck a file to remove it from the download list without removing the file itself. Any missing files are marked with a warning icon and a message appears describing the issue making it easy to see potential file problems prior to attempting a download.

+

System TRK users can use this panel to download any type of file, like bitmaps, HTML, sounds, and more, to the phone and applicable to Application TRK for transfering any files outside of the installation file.

+

+

Figure 1 - Debug windows File Transfer pane

+
Table 1. File Transfer pane —items
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ItemExplanation
File transfer list

The File transfer list displays the project files that are moved to the target device for launch and debugging purposes. It contains these columns:

+
    +
  • Enabled—a checkmark indicates that the IDE should transfer the specified file to the target directory. If unchecked, do not transfer the file.
  • +
  • File to transfer—the path and filename to a file on the host machine to be transfered
  • +
  • Target path—the path to the target directory where transfered files are placed on the device
  • +
AddClick to add a file to the file transfer list.
Edit...Click to edit the selected file in the file transfer list.
RemoveClick to remove the selected file from the file transfer list.
Select AllClick to select all the files in the file transfer list.
Deselect AllClick to unselect all the files in the file transfer list.
+ +
+

To access the File Tansfer Pane

+
    +
  1. Select the Run > Debug... menu item
  2. +

    The Debug window appears.

    +
  3. Select a Symbian OS Application TRK configuration in the Configurations list
  4. +
  5. Click File Transfer tab
  6. +

    The File Transfer pane appears (Figure 1).

    +
+
+
Common concepts
+ +
Common tasks
+ +
Common references
+ + + + \ No newline at end of file diff -r 55ef76a19104 -r 539b1b65d45f core/com.nokia.carbide.cpp.doc.user/html/reference/launch_configs/page_trk_debugger.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/reference/launch_configs/page_trk_debugger.htm Mon Jul 06 14:53:12 2009 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/reference/launch_configs/page_trk_debugger.htm Mon Jul 06 14:59:19 2009 -0500 @@ -1,133 +1,133 @@ - - - - - - -Debugger panes for TRK - - - -

Debugger panes for TRK

-

The Debug/Run window's Debugger panes for TRK provides control over entry points, message handling, and instruction set default settings.

-

Different options are available in the Debugger pane based on the type of TRK launch configuration, including:

- -

Run-mode Debugger pane

-

In run-mode you can control message handling and instruction sets.

-

-

Figure 1 - Debug window's Debugger pane for run mode debugging

-
Table 1. Debugger pane — run-mode options
- - - - - - - - - - - - - - - - - - - - - - - - - -
ItemExplanation

Break at entry point

-

When checked, break at the specified entry point entered into the text field. For .EXE targets, the default entry point is set to E32Main. By default, the Break at entry point option is unchecked for all other target types.

View program output When checked, show the contents of any program output in the TRK Progam Output Console in a Console view.
View messages between Carbide and debug agent

When checked, show the communications between Carbide and the target device in the TRK Communication Log Console of the Console view.

-

NOTE You can pin the TRK Communication Log view so that it does not lose focus.

Message retry delay (ms) Enter the delay time in milliseconds (ms) between 100 and 10000 the debugger should wait for a response. The default Message Retry Delay value is 2000.

Default Instructon Set

-

 

Specifies the default instruction set to use if the debugger cannot determine the processor mode in order to set breakpoints and to disassemble code. The options are:

-
    -
  • Auto (examine code at current PC location)
  • -
  • ARM (32-bit)
  • -
  • THUMB (16-bit)
  • -
-

By default the Instruction Set option uses ARM 32-bit.

-

 

-

Stop-mode Debugger pane

-

In stop-mode use the Startup Options to attach to a target and debug or run from the specified start address. Then use Target Options to specify the target's processor type, and set which initialization and memory configuration files to use in the debug session.

-

-

Figure 2 - Debug window's Debugger pane for stop mode debugging

-
Table 2. Debugger pane — stop-mode options
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ItemExplanation

Break at entry point

When checked, break at the specified entry point entered into the text field. For .EXE targets, the default entry point is set to E32Main. By default, the Break at entry point option is unchecked for all other target types.

Soft attach Enable the Soft attach option to attach a debug session to a target and debug from the specified start address instead of the target's default start address. When enabled the downloaded image option is ignored.
Debug from start address Enable the Debug from start address option to debug from the target's default start address.
Run from start address Enable the Run from start address option to run from the target's default start address.
Start address (hex) Enter in hexidecimal format (0x0) the starting address to use during the debug session.
Reset target at the start of each debug session Forces the Carbide IDE to reset the target at the start of each debug session. This ensures that the debugging session uses the most up-to-date program code.
Target Processor A drop down with a list of all supported processors. The process selection should help in determining the memory model. This will in turn help determine the base address and the offsets for the Symbian OS kernel aware information.
Target initialization file

Check this box to have the debugger run an initialization script when the debug session starts. For example, if a target device requires initialization for the debugger to be able to read and write memory or registers, you can specify an initialization script here.

-

Click Browse to select a script file using a standard file selection dialog box. When using T32, most of the initialization is done in the CMM script file. With other debug protocols like Sophia, you can specify the initialization file, which can be run after connecting to the target.

Memory configuration file Controls whether the debugger uses a memory configuration file when a debug session starts. The Carbide debugger uses this configuration file to know which memory is accessible, readable, and writable on the target.
- -
-

To access the Debugger Pane

-
    -
  1. Select the Run > Debug... menu item
  2. -

    The Debug window appears.

    -
  3. Select a Symbian OS Application TRK configuration in the Configurations list
  4. -
  5. Click Debugger tab
  6. -

    The Debugger pane appears (Figure 1).

    -
-
-
Common concepts
- -
Common references
- - - - - + + + + + + +Debugger panes for TRK + + + +

Debugger panes for TRK

+

The Debug/Run windows Debugger panes for TRK provides control over entry points, message handling, and instruction set default settings.

+

Different options are available in the Debugger pane based on the type of TRK launch configuration, including:

+ +

Run-mode Debugger pane

+

In run-mode you can control message handling and instruction sets.

+

+

Figure 1 - Debug windows Debugger pane for run mode debugging

+
Table 1. Debugger pane — run-mode options
+ + + + + + + + + + + + + + + + + + + + + + + + + +
ItemExplanation

Break at entry point

+

When checked, break at the specified entry point entered into the text field. For .EXE targets, the default entry point is set to E32Main. By default, the Break at entry point option is unchecked for all other target types.

View program output When checked, show the contents of any program output in the TRK Progam Output Console in a Console view.
View messages between Carbide and debug agent

When checked, show the communications between Carbide and the target device in the TRK Communication Log Console of the Console view.

+

NOTE You can pin the TRK Communication Log view so that it does not lose focus.

Message retry delay (ms) Enter the delay time in milliseconds (ms) between 100 and 10000 the debugger should wait for a response. The default Message Retry Delay value is 2000.

Default Instructon Set

+

 

Specifies the default instruction set to use if the debugger cannot determine the processor mode in order to set breakpoints and to disassemble code. The options are:

+
    +
  • Auto (examine code at current PC location)
  • +
  • ARM (32-bit)
  • +
  • THUMB (16-bit)
  • +
+

By default the Instruction Set option uses ARM 32-bit.

+

 

+

Stop-mode Debugger pane

+

In stop-mode use the Startup Options to attach to a target and debug or run from the specified start address. Then use Target Options to specify the target's processor type, and set which initialization and memory configuration files to use in the debug session.

+

+

Figure 2 - Debug windows Debugger pane for stop mode debugging

+
Table 2. Debugger pane — stop-mode options
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ItemExplanation

Break at entry point

When checked, break at the specified entry point entered into the text field. For .EXE targets, the default entry point is set to E32Main. By default, the Break at entry point option is unchecked for all other target types.

Soft attach Enable the Soft attach option to attach a debug session to a target and debug from the specified start address instead of the target's default start address. When enabled the downloaded image option is ignored.
Debug from start address Enable the Debug from start address option to debug from the target's default start address.
Run from start address Enable the Run from start address option to run from the target's default start address.
Start address (hex) Enter in hexidecimal format (0x0) the starting address to use during the debug session.
Reset target at the start of each debug session Forces the Carbide IDE to reset the target at the start of each debug session. This ensures that the debugging session uses the most up-to-date program code.
Target Processor A drop down with a list of all supported processors. The process selection should help in determining the memory model. This will in turn help determine the base address and the offsets for the Symbian OS kernel aware information.
Target initialization file

Check this box to have the debugger run an initialization script when the debug session starts. For example, if a target device requires initialization for the debugger to be able to read and write memory or registers, you can specify an initialization script here.

+

Click Browse to select a script file using a standard file selection dialog box. When using T32, most of the initialization is done in the CMM script file. With other debug protocols like Sophia, you can specify the initialization file, which can be run after connecting to the target.

Memory configuration file Controls whether the debugger uses a memory configuration file when a debug session starts. The Carbide debugger uses this configuration file to know which memory is accessible, readable, and writable on the target.
+ +
+

To access the Debugger Pane

+
    +
  1. Select the Run > Debug... menu item
  2. +

    The Debug window appears.

    +
  3. Select a Symbian OS Application TRK configuration in the Configurations list
  4. +
  5. Click Debugger tab
  6. +

    The Debugger pane appears (Figure 1).

    +
+
+
Common concepts
+ +
Common references
+ + + + + diff -r 55ef76a19104 -r 539b1b65d45f core/com.nokia.carbide.cpp.doc.user/html/reference/launch_configs/page_trk_main.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/reference/launch_configs/page_trk_main.htm Mon Jul 06 14:53:12 2009 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/reference/launch_configs/page_trk_main.htm Mon Jul 06 14:59:19 2009 -0500 @@ -1,62 +1,62 @@ - - - - - - -Main Pane - - -

Main Pane

-

The Main pane defines the project and the process to launch on the target device.

-

-

Figure 1 - Debug window's Main pane

-
Table 1. Main pane —items
- - - - - - - - - - - - - -
ItemExplanation
Project

The project to associate with this launch configuration. Click Browse to select a different project.

Remote process to launch

The absolute path of the remote executable to launch on the target device. The binary to debug may be stored on one of several memory locations, the most common are:

-
    -
  • RAM (default) — programs running in RAM are launched from c:\sys\bin\
  • -
  • ROM — programs running in ROM are launched from z:\sys\bin\
  • -
  • Memory cards — programs running on a memory card are launched from e:\sys\bin\
  • -
-

In the event a program is not launching, verify that the path is correct for the memory location where the binary resides.

-
- -
-

To access the Main Pane

-
    -
  1. Select the Run > Debug... menu item
  2. -

    The Debug window appears.

    -
  3. Select a Symbian OS Application TRK configuration in the Configurations list
  4. -
  5. Click Main tab
  6. -

    The Main pane appears (Figure 1).

    -
-
-
Common concepts
- -
Common references
- - - - + + + + + + +Main Pane + + +

Main Pane

+

The Main pane defines the project and the process to launch on the target device.

+

+

Figure 1 - Debug windows Main pane

+
Table 1. Main pane —items
+ + + + + + + + + + + + + +
ItemExplanation
Project

The project to associate with this launch configuration. Click Browse to select a different project.

Remote process to launch

The absolute path of the remote executable to launch on the target device. The binary to debug may be stored on one of several memory locations, the most common are:

+
    +
  • RAM (default) — programs running in RAM are launched from c:\sys\bin\
  • +
  • ROM — programs running in ROM are launched from z:\sys\bin\
  • +
  • Memory cards — programs running on a memory card are launched from e:\sys\bin\
  • +
+

In the event a program is not launching, verify that the path is correct for the memory location where the binary resides.

+
+ +
+

To access the Main Pane

+
    +
  1. Select the Run > Debug... menu item
  2. +

    The Debug window appears.

    +
  3. Select a Symbian OS Application TRK configuration in the Configurations list
  4. +
  5. Click Main tab
  6. +

    The Main pane appears (Figure 1).

    +
+
+
Common concepts
+ +
Common references
+ + + + \ No newline at end of file diff -r 55ef76a19104 -r 539b1b65d45f core/com.nokia.carbide.cpp.doc.user/html/reference/menus/abld.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/reference/menus/abld.htm Mon Jul 06 14:53:12 2009 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/reference/menus/abld.htm Mon Jul 06 14:59:19 2009 -0500 @@ -1,33 +1,34 @@ - - - - - - - -ABLD Actions - - - -

ABLD Actions

-

Use the ABLD menu option to invoke an specific abld command on the selected project or file. ABLD is available under Project > ABLD or by right-clicking a project or file in the Project Explorer or Symbian Project Navigator views and choosing ABLD > command. When executed any arguments specified in the Carbide Build Configurations pane for the command are passed to the selected tool.

-

-

Figure 1 - Available ABLD actions

-

The available commands include:

-
    -
  • target — creates the main executable and also the resources
  • -
  • export — copies the exported files to their destinations
  • -
  • cleanexport — removes files created by abld export
  • -
  • resource — creates resources files and bitmaps
  • -
  • final — allows extension makefiles to execute final commands
  • -
  • tidy — removes executables which need not be released
  • -
-

See the Symbian Developer Library for more information on the abld command.

-
Other references
- - - - + + + + + + + +ABLD Actions + + + +

ABLD Actions

+

Use the ABLD menu option to invoke an specific abld command on the selected project or file. ABLD is available under Project > ABLD or by right-clicking a project or file in the Project Explorer or Symbian Project Navigator views and choosing ABLD > command. When executed any arguments specified in the Carbide Build Configurations pane for the command are passed to the selected tool.

+

+

Figure 1 - Available ABLD actions

+

The available commands include:

+
    +
  • target — creates the main executable and also the resources
  • +
  • export — copies the exported files to their destinations
  • +
  • cleanexport — removes files created by abld export
  • +
  • resource — creates resources files and bitmaps
  • +
  • final — allows extension makefiles to execute final commands
  • +
  • tidy — removes executables which need not be released
  • +
  • test — similar commands that act on test components
  • +
+

See the Symbian Developer Library for more information on the abld command.

+
Other references
+ + + + \ No newline at end of file diff -r 55ef76a19104 -r 539b1b65d45f core/com.nokia.carbide.cpp.doc.user/html/reference/menus/build_pkg_file.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/reference/menus/build_pkg_file.htm Mon Jul 06 14:53:12 2009 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/reference/menus/build_pkg_file.htm Mon Jul 06 14:59:19 2009 -0500 @@ -1,25 +1,25 @@ - - - - - - -Build Package File - - - -

Build Package (.pkg) File

-

Select a .pkg file in a project′s sis folder in the Project Explorer or C/C++ Projects view and right-click to display the context menu. Select Build PKG File to build the package file and create the .sis installation file. This option is also available from an editor view when the file is open. The makesis tool uses the package file and packs all the required resources together into a SIS installation file. The Console view will display the processing output. The .sis and .sisx files will appear in the sis folder.

-

-

Figure 1. Build PKG File context menu

-
Other references
- - - - + + + + + + +Build Package File + + + +

Build Package (.pkg) File

+

Select a .pkg file in a project′s sis folder in the Project Explorer or C/C++ Projects view and right-click to display the context menu. Select Build PKG File to build the package file and create the .sis installation file. This option is also available from an editor view when the file is open. The makesis tool uses the package file and packs all the required resources together into a SIS installation file. The Console view will display the processing output. The .sis and .sisx files will appear in the sis folder.

+

+

Figure 1. Build PKG File context menu

+
Other references
+ + + + \ No newline at end of file diff -r 55ef76a19104 -r 539b1b65d45f core/com.nokia.carbide.cpp.doc.user/html/reference/menus/build_symbian_comp.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/reference/menus/build_symbian_comp.htm Mon Jul 06 14:53:12 2009 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/reference/menus/build_symbian_comp.htm Mon Jul 06 14:59:19 2009 -0500 @@ -1,23 +1,23 @@ - - - - - - -Build Symbian Component - - -

Build Symbian Component

-

Select a .mmp or .mk file in the Project Explorer, C/C++ Projects, or Symbian Project Navigator view, then right-click and select Build Symbian Component (CTRL+ALT+P) to build the selected component file or makefile. You can also right-click the file in an editor view and select Build Symbian Component to also build the file.

-

-

Figure 1. Build Symbian Component menu item

-

-
Other references
- - - - + + + + + + +Build Symbian Component + + +

Build Symbian Component

+

Select a .mmp or .mk file in the Project Explorer, C/C++ Projects, or Symbian Project Navigator view, then right-click and select Build Symbian Component (CTRL+ALT+P) to build the selected component file or makefile. You can also right-click the file in an editor view and select Build Symbian Component to also build the file.

+

+

Figure 1. Build Symbian Component menu item

+

+
Other references
+ + + + \ No newline at end of file diff -r 55ef76a19104 -r 539b1b65d45f core/com.nokia.carbide.cpp.doc.user/html/reference/menus/clean_symbian_comp.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/reference/menus/clean_symbian_comp.htm Mon Jul 06 14:53:12 2009 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/reference/menus/clean_symbian_comp.htm Mon Jul 06 14:59:19 2009 -0500 @@ -1,23 +1,23 @@ - - - - - - -Clean Symbian Component - - - -

Clean Symbian Component

-

You can s elect a .mmp or .mk file in the Project Explorer, C/C++ Projects, or Symbian Project Navigator view and right-click to display the context menu. Select Clean Symbian Component (CTRL+ALT+X) to clean the selected MMP project file or makefile. You can also right-click the file in an editor view to see the same option. The cleaning process removes the object and make files, and output files. The files that are removed by this command include all the intermediate files created during compilation and all the executables and import libraries created by the linker.

-

-

Figure 1. Clean Symbian Component context menu

-
Other references
- - - - + + + + + + +Clean Symbian Component + + + +

Clean Symbian Component

+

You can select a MMP or MK file in the Project Explorer, C/C++ Projects, or Symbian Project Navigator view and right-click to display the context menu. Select Clean Symbian Component (CTRL+ALT+X) to clean the selected MMP project file or makefile. You can also right-click the file in an editor view to see the same option. The cleaning process removes the object and make files, and output files. The files that are removed by this command include all the intermediate files created during compilation and all the executables and import libraries created by the linker.

+

+

Figure 1. Clean Symbian Component context menu

+
Other references
+ + + + \ No newline at end of file diff -r 55ef76a19104 -r 539b1b65d45f core/com.nokia.carbide.cpp.doc.user/html/reference/menus/menus.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/reference/menus/menus.htm Mon Jul 06 14:53:12 2009 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/reference/menus/menus.htm Mon Jul 06 14:59:19 2009 -0500 @@ -19,13 +19,13 @@
  • Compile
  • Freeze Exports
  • Freeze Symbian Component
  • -
  • On-Device Connections
  • +
  • On-Device Connections...
  • Open Command Window
  • -
  • Show in Explorer
  • Preprocess
  • Run Codescanner
  • Run Leavescan
  • S60 UI Designer
  • +
  • Show in Explorer
  • Symbian OS C++ Class
  • Symbian OS C++ Project
  • Symbian OS MMP File
  • diff -r 55ef76a19104 -r 539b1b65d45f core/com.nokia.carbide.cpp.doc.user/html/reference/menus/open_cmd_window.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/reference/menus/open_cmd_window.htm Mon Jul 06 14:53:12 2009 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/reference/menus/open_cmd_window.htm Mon Jul 06 14:59:19 2009 -0500 @@ -1,20 +1,20 @@ - - - - - - -Open Command Window - - - -

    Open Command Window

    -

    Launches a Microsoft Window's Command Prompt set to the workspace directory.

    -
    Other references
    - - - - - + + + + + + +Open Command Window + + + +

    Open Command Window

    +

    Launches a Microsoft Windows Command Prompt set to the workspace directory.

    +
    Other references
    + + + + + diff -r 55ef76a19104 -r 539b1b65d45f core/com.nokia.carbide.cpp.doc.user/html/reference/menus/open_explorer_window.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/reference/menus/open_explorer_window.htm Mon Jul 06 14:53:12 2009 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/reference/menus/open_explorer_window.htm Mon Jul 06 14:59:19 2009 -0500 @@ -1,20 +1,20 @@ - - - - - - -Show in Explorer - - - -

    Show in Explorer

    -

    Launches a Microsoft Window's Explorer window set to the workspace directory.

    -
    Other references
    - - - - - + + + + + + +Show in Explorer + + + +

    Show in Explorer

    +

    Launches a Microsoft Windows Explorer window set to the workspace directory.

    +
    Other references
    + + + + + diff -r 55ef76a19104 -r 539b1b65d45f core/com.nokia.carbide.cpp.doc.user/html/reference/panel_debug_exceptions.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/reference/panel_debug_exceptions.htm Mon Jul 06 14:53:12 2009 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/reference/panel_debug_exceptions.htm Mon Jul 06 14:59:19 2009 -0500 @@ -1,59 +1,59 @@ - - - - - - -x86 Exceptions Pane - - - -

    x86 Exceptions Pane

    -

    The Debug or launch configuration window's x86 Exceptions pane lists all the exceptions that the debugger is able to catch. If you want the debugger to catch all the exceptions, enable all of the options in this view. However, if you prefer to handle only certain exceptions, enable only those options that reflect the exceptions you prefer to handle.

    -

    -

    Figure 1 - x86 Exceptions pane

    -
    Table 1. x86 Exceptions pane —items
    - - - - - - - - - - - - - -
    ItemExplanation
    Check All Enables catching all exceptions.
    Clear All Disables catching all exceptions.
    -
    -

    To access the x86 Exceptions pane

    -
      -
    1. Select the Run > Debug... menu item
    2. -

      The Debug window (Figure 1) appears.

      -
    3. Select a Configuration setting
    4. -
    5. Click x86 Exceptions tab
    6. -

      The x86 Exceptions pane appears.

      -
    -
    -
    Common concepts
    - -
    Common tasks
    - -
    Common references
    - - - - - - + + + + + + +x86 Exceptions Pane + + + +

    x86 Exceptions Pane

    +

    The Debug or launch configuration windows x86 Exceptions pane lists all the exceptions that the debugger is able to catch. If you want the debugger to catch all the exceptions, enable all of the options in this view. However, if you prefer to handle only certain exceptions, enable only those options that reflect the exceptions you prefer to handle.

    +

    +

    Figure 1 - x86 Exceptions pane

    +
    Table 1. x86 Exceptions pane —items
    + + + + + + + + + + + + + +
    ItemExplanation
    Check All Enables catching all exceptions.
    Clear All Disables catching all exceptions.
    +
    +

    To access the x86 Exceptions pane

    +
      +
    1. Select the Run > Debug... menu item
    2. +

      The Debug window (Figure 1) appears.

      +
    3. Select a Configuration setting
    4. +
    5. Click x86 Exceptions tab
    6. +

      The x86 Exceptions pane appears.

      +
    +
    +
    Common concepts
    + +
    Common tasks
    + +
    Common references
    + + + + + + diff -r 55ef76a19104 -r 539b1b65d45f core/com.nokia.carbide.cpp.doc.user/html/reference/wnd_build_prefs.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/reference/wnd_build_prefs.htm Mon Jul 06 14:53:12 2009 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/reference/wnd_build_prefs.htm Mon Jul 06 14:59:19 2009 -0500 @@ -90,6 +90,10 @@ + + Do not offer to track dependencies for projects build on command-line + If you build a project from the command-line (with 'abld build') and then import the project into Carbide and attempt to build, Carbide will prompt you if you would like Carbide to manage source dependencies for you. Enabling this option insures Carbide will not ask you to manage dependencies (they will be done as normally done via 'abld build' command). +

     

    sbsv2 tab

    diff -r 55ef76a19104 -r 539b1b65d45f core/com.nokia.carbide.cpp.doc.user/html/tasks/debugger/run_mode_debug_07.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/tasks/debugger/run_mode_debug_07.htm Mon Jul 06 14:53:12 2009 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/tasks/debugger/run_mode_debug_07.htm Mon Jul 06 14:59:19 2009 -0500 @@ -1,76 +1,76 @@ - - - - - - -Debugger Settings - - - -

    Run Mode On-Device Debugging

    -

    To implement run mode on-device debugging the following tasks need to be completed.

    -
      -
    1. Install device connection software
    2. -
    3. Install Perl
    4. -
    5. Install an SDK
    6. -
    7. Setup environment variables
    8. -
    9. Setup a virtual drive for Techview and Cust Kits
    10. -
    11. Set the default kit in Devices.xml
    12. -
    13. Install the SISX file on the target device
    14. -
    15. Configure TRK connection on the device
    16. -
    17. Create a launch configuration
    18. -
    -
    -

    Configure TRK Connection on the Device

    -
    Connecting with Bluetooth
    -
      -
    1. On the device make sure the Bluetooth port is turned on
    2. -
    3. On the phone launch TRK.
    4. -

      The location of the TRK on-device debug agent will vary based on the phone. On some phones it will be in the Installed folder, on others it may be in the My Own folder.

      -
    5. TRK will ask which host you want to pair with. When requested, select your computer from the available Bluetooth devices list.
    6. -
    7. After the host and phone are paired, TRK should be connected. Verify that TRK is running.
    8. -
    9. On the PC: -
        -
      1. Right click on the Bluetooth icon in the System tray and select Advanced Configuration
      2. -
      3. Click the Local Services tab
      4. -
      5. Write down the Bluetooth COM Port number from the Local Services tab (Figure 1).
      6. -

        The Port number will be used when configuring the TRK launch configuration. The Bluetooth COM Port number in the Local Services tab should match the COM port used in the Connections tab of the TRK launch configuration.

        -
      7. Click OK to close the Bluetooth Configuration window
      8. -

        -

        Figure 1. Bluetooth Configuration window's Local Services panel

        -
      -
    10. -
    -
    Connecting with PC Suite
    - -
      -
    1. Connect the USB cable to the PC and then to the target device
    2. -
    3. On the device select PC suite from the USB mode list
    4. -
    5. Launch the TRK agent
    6. -

      The location of the TRK on-device debug agent will vary based on the phone. On some phones it will be in the Installed folder, on others it may be in My Own folder.

      -
    7. Halt the Bluetooth device search by pressing Cancel
    8. -
    9. Click Options > Settings > Connection
    10. -
    11. Change Connection type to USB and set connection options (Figure 2)
    12. -
    13. Select Back and start the TRK again and you should be connected
    14. -

      -

      Figure 2. USB Connection Settings

      -
    15. On the PC
    16. -
        -
      1. Open Window's Computer Management by right-clicking My Computer and select Manage from the context menu to open the Computer Management window.
      2. -
      3. Select System Tools > Device Manager > Ports (COM & LPT) to display all active ports
      4. -
      5. Locate the S60 Phone USB (COMxx) item in the list
      6. - -

        -

        Figure 3. Device Manager - Ports

        - -
      7. Write down the port ID and Communication Port Properties.
      8. -

        The COM Port number in the Device Manager window should match the COM port used in the Connections tab of the TRK launch configuration.

        -
      9. Close the Device Manager window
      10. -
      -
    -
    - - - - + + + + + + +Debugger Settings + + + +

    Run Mode On-Device Debugging

    +

    To implement run mode on-device debugging the following tasks need to be completed.

    +
      +
    1. Install device connection software
    2. +
    3. Install Perl
    4. +
    5. Install an SDK
    6. +
    7. Setup environment variables
    8. +
    9. Setup a virtual drive for Techview and Cust Kits
    10. +
    11. Set the default kit in Devices.xml
    12. +
    13. Install the SISX file on the target device
    14. +
    15. Configure TRK connection on the device
    16. +
    17. Create a launch configuration
    18. +
    +
    +

    Configure TRK Connection on the Device

    +
    Connecting with Bluetooth
    +
      +
    1. On the device make sure the Bluetooth port is turned on
    2. +
    3. On the phone launch TRK.
    4. +

      The location of the TRK on-device debug agent will vary based on the phone. On some phones it will be in the Installed folder, on others it may be in the My Own folder.

      +
    5. TRK will ask which host you want to pair with. When requested, select your computer from the available Bluetooth devices list.
    6. +
    7. After the host and phone are paired, TRK should be connected. Verify that TRK is running.
    8. +
    9. On the PC: +
        +
      1. Right click on the Bluetooth icon in the System tray and select Advanced Configuration
      2. +
      3. Click the Local Services tab
      4. +
      5. Write down the Bluetooth COM Port number from the Local Services tab (Figure 1).
      6. +

        The Port number will be used when configuring the TRK launch configuration. The Bluetooth COM Port number in the Local Services tab should match the COM port used in the Connections tab of the TRK launch configuration.

        +
      7. Click OK to close the Bluetooth Configuration window
      8. +

        +

        Figure 1. Bluetooth Configuration windows Local Services panel

        +
      +
    10. +
    +
    Connecting with PC Suite
    + +
      +
    1. Connect the USB cable to the PC and then to the target device
    2. +
    3. On the device select PC suite from the USB mode list
    4. +
    5. Launch the TRK agent
    6. +

      The location of the TRK on-device debug agent will vary based on the phone. On some phones it will be in the Installed folder, on others it may be in My Own folder.

      +
    7. Halt the Bluetooth device search by pressing Cancel
    8. +
    9. Click Options > Settings > Connection
    10. +
    11. Change Connection type to USB and set connection options (Figure 2)
    12. +
    13. Select Back and start the TRK again and you should be connected
    14. +

      +

      Figure 2. USB Connection Settings

      +
    15. On the PC
    16. +
        +
      1. Open Windows Computer Management by right-clicking My Computer and select Manage from the context menu to open the Computer Management window.
      2. +
      3. Select System Tools > Device Manager > Ports (COM & LPT) to display all active ports
      4. +
      5. Locate the S60 Phone USB (COMxx) item in the list
      6. + +

        +

        Figure 3. Device Manager - Ports

        + +
      7. Write down the port ID and Communication Port Properties.
      8. +

        The COM Port number in the Device Manager window should match the COM port used in the Connections tab of the TRK launch configuration.

        +
      9. Close the Device Manager window
      10. +
      +
    +
    + + + + diff -r 55ef76a19104 -r 539b1b65d45f core/com.nokia.carbide.cpp.doc.user/html/tasks/debugger/run_mode_debug_08.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/tasks/debugger/run_mode_debug_08.htm Mon Jul 06 14:53:12 2009 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/tasks/debugger/run_mode_debug_08.htm Mon Jul 06 14:59:19 2009 -0500 @@ -1,187 +1,187 @@ - - - - - - -Debugger Settings - - - -

    Run Mode On-Device Debugging

    -

    To implement run mode on-device debugging the following tasks need to be completed.

    -
      -
    1. Install device connection software
    2. -
    3. Install Perl
    4. -
    5. Install an SDK
    6. -
    7. Setup environment variables
    8. -
    9. Setup a virtual drive for Techview and Cust Kits
    10. -
    11. Set the default kit in Devices.xml
    12. -
    13. Install the SISX file on the target device
    14. -
    15. Configure TRK connection on the device
    16. -
    17. Create a launch configuration
    18. -
    -
    -

    Creating a Launch Configuration setup

    -
      -
    1. Import the MMP or INF file
    2. -
    3. Select the Project in the C/C++ Project pane you want to debug
    4. -
    5. From the IDE select Run > Debug…
    6. -
    7. The New Launch Configuration Wizard appears
    8. -

      To communicate between the Carbide.c++ debugger and the on-device debug agent or protocol interface you must define a debug launch configuration. The Debug window is where you define the type of debug launch configuration to use when debugging programs on the target device (Figure 4).

      -

      -

      Figure 4. Debug Window

      -
    9. Select either a Symbian OS Application TRK or Symbian OS System TRK configuration type for on-device debugging and click New
    10. -

      For debug launch configurations using the TRK debug agent, the following pages require review and possible option settings:

      -
        -
      • Main - defines the project to be launched on the target device
      • -
      • Arguments (Eclipse) - defines the arguments to be passed to the application and to the virtual machine
      • -
      • Debugger - provides control over entry points, message handling, and instruction set default settings
      • -
      • Connection - specifies the method used to transfer files to the target device
      • -
      • File Transfer - files transfered to the target device at the start of each launch
      • -
      • Installation - specifies the .sis or .pkg file to install on the target device
      • -
      • Executables - specifies which executables are debugged by your project
      • -
      • Source (Eclipse) - defines the location of source files used to display source when debugging
      • -
      • Common (Eclipse) - defines general information about the launch configuration
      • -
      -

      Click Debug after all the preference panels have been set. The Debug window closes and the Carbide.c++ debugger begins a debugging session using the new configuration. The next time you click the Debug icon, this debug launch configuration is used to start a debug session.

      -
    -
    Main Tab
    -

    The Main pane defines the project to be launched on the target device. Table 1 defines the fields.

    -

    -

    Figure 5. Debug window - Main Tab

    -

    Table 1. Main pane

    - - - - - - - - - - - - - -
    ItemExplanation
    Project

    The project to associate with this debug launch configuration. Click Browse to select a different project.

    Remote process to launchThe absolute path of the remote process to launch on the target device.
    - -
    Debugger Tab
    -

    The Debug or launch configuration window's Debugger pane provides control over entry points, message handling, and instruction set default settings.

    -

    -

    Figure 6. Debug window's Debugger Pane

    -

    Table 2. Debugger pane

    - - - - - - - - - - - - - - - - - - - - - - - - - -
    ItemExplanation
    Break at entry point

    When checked, break at the specified entry point entered in the text field. For .EXE targets, the default entry point is set to E32Main. By default, the Break at entry point option is unchecked for all other target types.

    View program output When checked, show the contents of any unframed messages from the communications port in a Console view.
    View messages between Carbide and debug agent

    When checked, show the communications between the PC and the target device in a Console view when the TRK Communciation message log is visible.

    -

    NOTE You can pin the TRK Communication message log view so that it does not lose focus.

    Message retry delay (ms)Enter the delay time in milliseconds (ms) between 100 and 10000 that the debugger should wait for a response. The default Message retry delay value is 2000.
    Default Instructon Set

    Specifies the default instruction set to use if the debugger cannot determine the processor mode in order to set breakpoints and to disassemble code. The options are:

    - Auto (examine code at current PC location)
    - ARM (32-bit)
    - THUMB (16-bit)
    -
    - By default the Instruction Set option uses ARM 32-bit.
    - -
    Connection Tab
    -

    Select the Connection tab that is available for TRK. Specify the Serial port for your configuration. The Connection pane specifies the method used to transfer files to the target device. Once the Current Connection to Target type is selected, the remaining options contain default values for the specific connection type. You can change these options to match the target device's communication specifications.

    -

    -

    Figure 7. Debug window's Connection pane using PC Suite

    -

    Table 3. Connection pane

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    ItemExplanation
    Current Connection to Target Choose the connection type to use when communicating with a device.
    Serial Port

    Select the serial port option to use for the launch configuration. Once set, this port will be used for all subsequent launch configurations until it is set again.

    -

    NOTE USB and Bluetooth can be dynamically assigned, so its critical that the port ID assigned here matches the one the system is using to communicate with the target device.

    Baud RateUse the Baud Rate option to select the baud rate for communication. The default baud rate value is 115200 bits per second (bps).
    Data Bits

    Use the Data Bits option to select a common data bits size (4, 5, 6, 7, and 8). The default data bits value is 8.

    ParityUse the Parity option to select the parity setting (None, Odd, or Even). The default parity value is None.
    Stop Bits

    Use the Stop Bits option to select the stop bits setting (1, 1.5, 2). The default stop bits value is 2.

    Flow ControlUse the Flow Control option to select the flow control setting (None, Hardware (RTS/CTS), and Software (XON/XOFF)). The default flow control value is None.
    -
    Installation Tab
    -

    For Application TRK select the Installation tab. The Installation pane specifies the .sis file to install on the target device. This is used by Application TRK because Application TRK downloads all files via a SIS file. This is required when using the TRK debug agent with 9.x based SDK’s.

    -

    -

    Figure 8. Debug window's Installation pane

    -

    Table 4. Installation pane

    - - - - - - - - - - - - - - - - - - - - - - - - - -
    ItemExplanation
    Installation file

    Browse to and select the file to be installed.

    Download directory Specify directory to receive download.
    Install each launch even if installer file has not changed

    Check this option to always install the .sis file.

    Do not show installer UI on the phone Check this option to hide the installer interface on the phone.
    Install to drive:

    Select drive on phone to install the .sis file.

    -
    File Transfer Tab
    -

    For System TRK select the File Transfer pane. The File Transfer pane displays a list of files the Carbide IDE transfers to the target device at the start of each launch. By default, any file added is automatically checked for downloading to the device.

    -

    NOTE If debugging a DLL from an application and using System TRK, ensure that the DLL is included so that it is deployed to the device with the application. It is not added by default.

    -

    -

    Figure 9. Debug window's File Transfer pane

    -
    - - - - + + + + + + +Debugger Settings + + + +

    Run Mode On-Device Debugging

    +

    To implement run mode on-device debugging the following tasks need to be completed.

    +
      +
    1. Install device connection software
    2. +
    3. Install Perl
    4. +
    5. Install an SDK
    6. +
    7. Setup environment variables
    8. +
    9. Setup a virtual drive for Techview and Cust Kits
    10. +
    11. Set the default kit in Devices.xml
    12. +
    13. Install the SISX file on the target device
    14. +
    15. Configure TRK connection on the device
    16. +
    17. Create a launch configuration
    18. +
    +
    +

    Creating a Launch Configuration setup

    +
      +
    1. Import the MMP or INF file
    2. +
    3. Select the Project in the C/C++ Project pane you want to debug
    4. +
    5. From the IDE select Run > Debug…
    6. +
    7. The New Launch Configuration Wizard appears
    8. +

      To communicate between the Carbide.c++ debugger and the on-device debug agent or protocol interface you must define a debug launch configuration. The Debug window is where you define the type of debug launch configuration to use when debugging programs on the target device (Figure 4).

      +

      +

      Figure 4. Debug Window

      +
    9. Select either a Symbian OS Application TRK or Symbian OS System TRK configuration type for on-device debugging and click New
    10. +

      For debug launch configurations using the TRK debug agent, the following pages require review and possible option settings:

      +
        +
      • Main - defines the project to be launched on the target device
      • +
      • Arguments (Eclipse) - defines the arguments to be passed to the application and to the virtual machine
      • +
      • Debugger - provides control over entry points, message handling, and instruction set default settings
      • +
      • Connection - specifies the method used to transfer files to the target device
      • +
      • File Transfer - files transfered to the target device at the start of each launch
      • +
      • Installation - specifies the .sis or .pkg file to install on the target device
      • +
      • Executables - specifies which executables are debugged by your project
      • +
      • Source (Eclipse) - defines the location of source files used to display source when debugging
      • +
      • Common (Eclipse) - defines general information about the launch configuration
      • +
      +

      Click Debug after all the preference panels have been set. The Debug window closes and the Carbide.c++ debugger begins a debugging session using the new configuration. The next time you click the Debug icon, this debug launch configuration is used to start a debug session.

      +
    +
    Main Tab
    +

    The Main pane defines the project to be launched on the target device. Table 1 defines the fields.

    +

    +

    Figure 5. Debug window - Main Tab

    +

    Table 1. Main pane

    + + + + + + + + + + + + + +
    ItemExplanation
    Project

    The project to associate with this debug launch configuration. Click Browse to select a different project.

    Remote process to launchThe absolute path of the remote process to launch on the target device.
    + +
    Debugger Tab
    +

    The Debug or launch configuration windows Debugger pane provides control over entry points, message handling, and instruction set default settings.

    +

    +

    Figure 6. Debug windows Debugger Pane

    +

    Table 2. Debugger pane

    + + + + + + + + + + + + + + + + + + + + + + + + + +
    ItemExplanation
    Break at entry point

    When checked, break at the specified entry point entered in the text field. For .EXE targets, the default entry point is set to E32Main. By default, the Break at entry point option is unchecked for all other target types.

    View program output When checked, show the contents of any unframed messages from the communications port in a Console view.
    View messages between Carbide and debug agent

    When checked, show the communications between the PC and the target device in a Console view when the TRK Communciation message log is visible.

    +

    NOTE You can pin the TRK Communication message log view so that it does not lose focus.

    Message retry delay (ms)Enter the delay time in milliseconds (ms) between 100 and 10000 that the debugger should wait for a response. The default Message retry delay value is 2000.
    Default Instructon Set

    Specifies the default instruction set to use if the debugger cannot determine the processor mode in order to set breakpoints and to disassemble code. The options are:

    + Auto (examine code at current PC location)
    + ARM (32-bit)
    + THUMB (16-bit)
    +
    + By default the Instruction Set option uses ARM 32-bit.
    + +
    Connection Tab
    +

    Select the Connection tab that is available for TRK. Specify the Serial port for your configuration. The Connection pane specifies the method used to transfer files to the target device. Once the Current Connection to Target type is selected, the remaining options contain default values for the specific connection type. You can change these options to match the target device's communication specifications.

    +

    +

    Figure 7. Debug windows Connection pane using PC Suite

    +

    Table 3. Connection pane

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ItemExplanation
    Current Connection to Target Choose the connection type to use when communicating with a device.
    Serial Port

    Select the serial port option to use for the launch configuration. Once set, this port will be used for all subsequent launch configurations until it is set again.

    +

    NOTE USB and Bluetooth can be dynamically assigned, so its critical that the port ID assigned here matches the one the system is using to communicate with the target device.

    Baud RateUse the Baud Rate option to select the baud rate for communication. The default baud rate value is 115200 bits per second (bps).
    Data Bits

    Use the Data Bits option to select a common data bits size (4, 5, 6, 7, and 8). The default data bits value is 8.

    ParityUse the Parity option to select the parity setting (None, Odd, or Even). The default parity value is None.
    Stop Bits

    Use the Stop Bits option to select the stop bits setting (1, 1.5, 2). The default stop bits value is 2.

    Flow ControlUse the Flow Control option to select the flow control setting (None, Hardware (RTS/CTS), and Software (XON/XOFF)). The default flow control value is None.
    +
    Installation Tab
    +

    For Application TRK select the Installation tab. The Installation pane specifies the .sis file to install on the target device. This is used by Application TRK because Application TRK downloads all files via a SIS file. This is required when using the TRK debug agent with 9.x based SDK’s.

    +

    +

    Figure 8. Debug windows Installation pane

    +

    Table 4. Installation pane

    + + + + + + + + + + + + + + + + + + + + + + + + + +
    ItemExplanation
    Installation file

    Browse to and select the file to be installed.

    Download directory Specify directory to receive download.
    Install each launch even if installer file has not changed

    Check this option to always install the .sis file.

    Do not show installer UI on the phone Check this option to hide the installer interface on the phone.
    Install to drive:

    Select drive on phone to install the .sis file.

    +
    File Transfer Tab
    +

    For System TRK select the File Transfer pane. The File Transfer pane displays a list of files the Carbide IDE transfers to the target device at the start of each launch. By default, any file added is automatically checked for downloading to the device.

    +

    NOTE If debugging a DLL from an application and using System TRK, ensure that the DLL is included so that it is deployed to the device with the application. It is not added by default.

    +

    +

    Figure 9. Debug windows File Transfer pane

    +
    + + + + diff -r 55ef76a19104 -r 539b1b65d45f core/com.nokia.carbide.cpp.doc.user/html/tasks/trk/trk_connection_bluetooth.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/tasks/trk/trk_connection_bluetooth.htm Mon Jul 06 14:53:12 2009 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/tasks/trk/trk_connection_bluetooth.htm Mon Jul 06 14:59:19 2009 -0500 @@ -1,53 +1,53 @@ - - - - - - -Bluetooth Connectivity Setup - - - -

    Bluetooth Connection Setup

    -

    The on-device debug agent software supports the use of Bluetooth to debug programs running on a target device. To enable communication with a Bluetooth device, a connection must be established between the PC and the device. The on-device debug agent requires a dedicated COM port in order to talk with the device. In some cases, other programs that use the same COM port number will interfere with the TRK debug agent, essentially "fighting" over control of the COM port. Follow the steps below to setup a Bluetooth connection with the Bluetooth enabled device.

    -

    NOTE Ensure that no other program has commandeered the Bluetooth connection. For example, some phone connectivity programs will not release a COM port unless specifically told to do so.

    -

    NOTE Most problems with on-target debugging setup occur here, so be careful when performing each of these steps.

    -
    -

    Setting up a Bluetooth Connection for On-device Debugging

    -

    NOTE This example shows how to setup a Bluetooth connection on a PC running Windows XP SP2 with an internal Bluetooth device. The actions to setup Bluetooth connections may be different on your version of Windows. Refer to the OS documentation for information on configuring Bluetooth connections. Ensure that the correct Bluetooth drivers are installed.

    -
      -
    1. Open the Bluetooth Configuration window (Start > Settings > Control Panel > Bluetooth Configuration)
    2. -
    3. Verify the following settings in the Accessibility tab (Figure 1): -
        -
      • The option "Let other Bluetooth devices discover this computer" is checkmarked
      • -
      • The option "Allow" is set to "All Devices"
      • -
      -
    4. -

      -

      Figure 1. Bluetooth Configuration window's Accessibility panel

      -
    5. Write down the Bluetooth COM Port number from the Local Services tab (Figure 2) for later use
    6. -

      The Bluetooth COM Port number in the Local Services tab - should match the COM port used in the Connections tab of the TRK launch
      - configuration
      .

      -

      -

      Figure 2. Bluetooth Configuration window's Local Services panel

      -
    7. Click OK to close the Bluetooth Configuration window
    8. -
    9. Download the Application TRK or System TRK SISX file to the device
    10. -
    -
    -
    Related concepts
    - -
    Related references
    - -
    Related tasks
    - - - - - + + + + + + +Bluetooth Connectivity Setup + + + +

    Bluetooth Connection Setup

    +

    The on-device debug agent software supports the use of Bluetooth to debug programs running on a target device. To enable communication with a Bluetooth device, a connection must be established between the PC and the device. The on-device debug agent requires a dedicated COM port in order to talk with the device. In some cases, other programs that use the same COM port number will interfere with the TRK debug agent, essentially "fighting" over control of the COM port. Follow the steps below to setup a Bluetooth connection with the Bluetooth enabled device.

    +

    NOTE Ensure that no other program has commandeered the Bluetooth connection. For example, some phone connectivity programs will not release a COM port unless specifically told to do so.

    +

    NOTE Most problems with on-target debugging setup occur here, so be careful when performing each of these steps.

    +
    +

    Setting up a Bluetooth Connection for On-device Debugging

    +

    NOTE This example shows how to setup a Bluetooth connection on a PC running Windows XP SP2 with an internal Bluetooth device. The actions to setup Bluetooth connections may be different on your version of Windows. Refer to the OS documentation for information on configuring Bluetooth connections. Ensure that the correct Bluetooth drivers are installed.

    +
      +
    1. Open the Bluetooth Configuration window (Start > Settings > Control Panel > Bluetooth Configuration)
    2. +
    3. Verify the following settings in the Accessibility tab (Figure 1): +
        +
      • The option "Let other Bluetooth devices discover this computer" is checkmarked
      • +
      • The option "Allow" is set to "All Devices"
      • +
      +
    4. +

      +

      Figure 1. Bluetooth Configuration windows Accessibility panel

      +
    5. Write down the Bluetooth COM Port number from the Local Services tab (Figure 2) for later use
    6. +

      The Bluetooth COM Port number in the Local Services tab + should match the COM port used in the Connections tab of the TRK launch
      + configuration
      .

      +

      +

      Figure 2. Bluetooth Configuration windows Local Services panel

      +
    7. Click OK to close the Bluetooth Configuration window
    8. +
    9. Download the Application TRK or System TRK SISX file to the device
    10. +
    +
    +
    Related concepts
    + +
    Related references
    + +
    Related tasks
    + + + + + diff -r 55ef76a19104 -r 539b1b65d45f core/com.nokia.carbide.cpp.doc.user/html/tasks/trk/trk_connection_usb.htm --- a/core/com.nokia.carbide.cpp.doc.user/html/tasks/trk/trk_connection_usb.htm Mon Jul 06 14:53:12 2009 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/html/tasks/trk/trk_connection_usb.htm Mon Jul 06 14:59:19 2009 -0500 @@ -1,55 +1,55 @@ - - - - - - -USB Connectivity Setup - - - -

    USB Connection Setup

    -

    On-device debugging supports the use of USB to debug programs running on a target device. To enable communication with a USB device, a connection must be established between the PC and the device. Doing that requires one of the following USB connectivity cables to physically connect the PC to the device:

    -
      -
    • DKU-2
    • -
    • CA-53
    • -
    -
    -

    Setting up a USB Connection for On-device Debugging

    -
      -
    1. Install the latest USB connectivity software, for example, S60 devices use Nokia PC Suite
    2. -
    3. Connect the USB connectivity cable to your PC and then the target device
    4. -
    5. For S60 devices, select PC-Suite from the USB Mode list when the target device is connected
    6. -
    7. Download the Application TRK or System TRK SISX file to the device
    8. -
    9. On the PC - (optional)
    10. -
    -
      -
        -
      1. Open the Window's Computer Management (Windows XP)
      2. -

        Right-click My Computer and select Manage from the context menu to open the Computer Management window. Select System Tools > Device Manager > Ports (COM & LPT) to display all active ports.

        -
      3. Locate the S60 Phone USB (COMx) item in the list (Figure 2)
      4. -

        -

        Figure 2. Device Manager showing Ports (COM & LPT) section

        -
      5. The USB COM Port number should match the COM port used in the Connections tab of the TRK launch - configuration.
      6. -
      7. Close the Device Manager window
      8. -
      -
    -
    -
    Related concepts
    - -
    Related references
    - -
    Related tasks
    - - - - - + + + + + + +USB Connectivity Setup + + + +

    USB Connection Setup

    +

    On-device debugging supports the use of USB to debug programs running on a target device. To enable communication with a USB device, a connection must be established between the PC and the device. Doing that requires one of the following USB connectivity cables to physically connect the PC to the device:

    +
      +
    • DKU-2
    • +
    • CA-53
    • +
    +
    +

    Setting up a USB Connection for On-device Debugging

    +
      +
    1. Install the latest USB connectivity software, for example, S60 devices use Nokia PC Suite
    2. +
    3. Connect the USB connectivity cable to your PC and then the target device
    4. +
    5. For S60 devices, select PC-Suite from the USB Mode list when the target device is connected
    6. +
    7. Download the Application TRK or System TRK SISX file to the device
    8. +
    9. On the PC + (optional)
    10. +
    +
      +
        +
      1. Open the Windows Computer Management (Windows XP)
      2. +

        Right-click My Computer and select Manage from the context menu to open the Computer Management window. Select System Tools > Device Manager > Ports (COM & LPT) to display all active ports.

        +
      3. Locate the S60 Phone USB (COMx) item in the list (Figure 2)
      4. +

        +

        Figure 2. Device Manager showing Ports (COM & LPT) section

        +
      5. The USB COM Port number should match the COM port used in the Connections tab of the TRK launch + configuration.
      6. +
      7. Close the Device Manager window
      8. +
      +
    +
    +
    Related concepts
    + +
    Related references
    + +
    Related tasks
    + + + + + diff -r 55ef76a19104 -r 539b1b65d45f core/com.nokia.carbide.cpp.doc.user/intro/whatsnew_IntroExt.xml --- a/core/com.nokia.carbide.cpp.doc.user/intro/whatsnew_IntroExt.xml Mon Jul 06 14:53:12 2009 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/intro/whatsnew_IntroExt.xml Mon Jul 06 14:59:19 2009 -0500 @@ -31,7 +31,7 @@ See Symbian API Reference information appear when you hover over a Symbian symbol in C/C++ editors. diff -r 55ef76a19104 -r 539b1b65d45f core/com.nokia.carbide.cpp.doc.user/tocCarbide.xml --- a/core/com.nokia.carbide.cpp.doc.user/tocCarbide.xml Mon Jul 06 14:53:12 2009 -0500 +++ b/core/com.nokia.carbide.cpp.doc.user/tocCarbide.xml Mon Jul 06 14:59:19 2009 -0500 @@ -28,20 +28,35 @@
    + - + + + + + + + + + + + + + + - + + @@ -124,6 +139,7 @@ + diff -r 55ef76a19104 -r 539b1b65d45f core/com.nokia.carbide.cpp.sdk.core/META-INF/MANIFEST.MF --- a/core/com.nokia.carbide.cpp.sdk.core/META-INF/MANIFEST.MF Mon Jul 06 14:53:12 2009 -0500 +++ b/core/com.nokia.carbide.cpp.sdk.core/META-INF/MANIFEST.MF Mon Jul 06 14:59:19 2009 -0500 @@ -15,7 +15,8 @@ com.nokia.carbide.cpp.epoc.engine, org.eclipse.update.core, com.nokia.carbide.templatewizard, - org.eclipse.core.filesystem + org.eclipse.core.filesystem, + com.nokia.cpp.utils.ui;bundle-version="1.0.0" Bundle-ActivationPolicy: lazy Export-Package: com.nokia.carbide.cpp.internal.api.sdk, com.nokia.carbide.cpp.internal.sdk.core.model;x-friends:="com.nokia.carbide.cpp.sdk.core.test", diff -r 55ef76a19104 -r 539b1b65d45f core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/api/sdk/SymbianBuildContext.java --- a/core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/api/sdk/SymbianBuildContext.java Mon Jul 06 14:53:12 2009 -0500 +++ b/core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/api/sdk/SymbianBuildContext.java Mon Jul 06 14:59:19 2009 -0500 @@ -21,6 +21,7 @@ import com.nokia.carbide.cpp.epoc.engine.model.sbv.ISBVView; import com.nokia.carbide.cpp.epoc.engine.preprocessor.*; import com.nokia.carbide.cpp.internal.sdk.core.model.SymbianMissingSDKFactory; +import com.nokia.carbide.cpp.internal.sdk.core.model.SymbianSDK; import com.nokia.carbide.cpp.sdk.core.*; import com.nokia.carbide.internal.api.cpp.epoc.engine.preprocessor.BasicIncludeFileLocator; import com.nokia.carbide.internal.api.cpp.epoc.engine.preprocessor.MacroScanner; @@ -378,6 +379,17 @@ List macros = new ArrayList(); Map namedMacros = new HashMap(); File prefixFile = getSDK().getPrefixFile(); + + if (prefixFile == null){ + // Check that the prefix file may have become available since the SDK was scanned last. + // This can happen, for e.g., if the user opens the IDE _then_ does a subst on a drive that already has an SDK entry. + IPath prefixCheck = ((SymbianSDK)getSDK()).getPrefixFromVariantCfg(); + if (prefixCheck != null){ + prefixFile = prefixCheck.toFile(); + getSDK().setPrefixFile(prefixCheck); + } + } + if (prefixFile != null) { // add any BSF/SBV includes so the headers are picked up from the correct location diff -r 55ef76a19104 -r 539b1b65d45f core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/sdk/core/model/SDKManager.java --- a/core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/sdk/core/model/SDKManager.java Mon Jul 06 14:53:12 2009 -0500 +++ b/core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/sdk/core/model/SDKManager.java Mon Jul 06 14:59:19 2009 -0500 @@ -14,6 +14,7 @@ import java.io.*; import java.net.*; +import java.text.MessageFormat; import java.util.*; import javax.xml.parsers.*; @@ -25,6 +26,7 @@ import org.eclipse.core.resources.ResourcesPlugin; import org.eclipse.core.runtime.*; import org.eclipse.emf.common.util.EList; +import org.eclipse.jface.dialogs.ErrorDialog; import org.eclipse.jface.dialogs.MessageDialog; import org.eclipse.osgi.service.datalocation.Location; import org.eclipse.swt.widgets.Shell; @@ -41,8 +43,9 @@ import com.nokia.carbide.cpp.internal.sdk.core.xml.DevicesLoader; import com.nokia.carbide.cpp.sdk.core.*; import com.nokia.carbide.cpp.sdk.core.ICarbideInstalledSDKChangeListener.SDKChangeEventType; -import com.nokia.cpp.internal.api.utils.core.FileUtils; +import com.nokia.cpp.internal.api.utils.core.*; import com.nokia.cpp.internal.api.utils.core.ListenerList; +import com.nokia.cpp.internal.api.utils.ui.WorkbenchUtils; import com.sun.org.apache.xpath.internal.XPathAPI; public class SDKManager implements ISDKManager, ISDKManagerInternal { @@ -50,11 +53,13 @@ private static List sdkList = new ArrayList(); private HashMap missingSdkMap = new HashMap(); - public final String SYMBIAN_COMMON_REG_PATH="SOFTWARE\\Symbian\\EPOC SDKs\\"; - public final String SYMBIAN_COMMON_PATH = "CommonPath"; + private static final String SYMBIAN_COMMON_REG_PATH = "SOFTWARE\\Symbian\\EPOC SDKs\\"; + private static final String SYMBIAN_COMMON_PATH = "CommonPath"; - public final String WINDOWS_SYSTEM_ROOT_REG = "SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\"; - public final String WINDOWS_SYSTEM_ROOD_KEY = "SystemRoot"; + private static final String WINDOWS_SYSTEM_ROOT_REG = "SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\"; + private static final String WINDOWS_SYSTEM_ROOT_KEY = "SystemRoot"; + + private static final String EMPTY_DEVICES_XML_CONTENT = ""; private static final String CARBIDE_SDK_CACHE_FILE_NAME = "carbideSDKCache.xml"; private static final String SDK_CACHE_ID_ATTRIB = "id"; @@ -217,7 +222,7 @@ } - public void updateSDK(ISymbianSDK sdk){ + public void updateSDK(ISymbianSDK sdk) { try { File devicesFile = getDevicesXMLFile(); @@ -225,23 +230,28 @@ DevicesLoader.updateDevice(sdk, devicesFile.toURL()); updateCarbideSDKCache(); - } catch (MalformedURLException e) { - e.printStackTrace(); - } catch (URISyntaxException e) { - e.printStackTrace(); - } catch (IOException e) { - e.printStackTrace(); + } catch (Exception e) { + // must catch and rethrow as unchecked exception this + // because no throws clause in API method + throw new RuntimeException(e); } } public void addSDK(ISymbianSDK sdk) { synchronized(sdkList) { - updateSDK(sdk); - sdkList.add(sdk); - SDKManagerInternalAPI.removeMissingSdk(sdk.getUniqueId()); - // tell others about it - fireInstalledSdkChanged(SDKChangeEventType.eSDKAdded); + try { + updateSDK(sdk); + sdkList.add(sdk); + SDKManagerInternalAPI.removeMissingSdk(sdk.getUniqueId()); + // tell others about it + fireInstalledSdkChanged(SDKChangeEventType.eSDKAdded); + } + catch (Exception e) { + logError("Could not add SDK", e); + String message = "Could not add this SDK. Your devices.xml file may be corrupt. If you remove the file from its current location and then rescan SDKs, Carbide will offer to create a new one."; + Logging.showErrorDialog(WorkbenchUtils.getSafeShell(), null, message, Logging.newSimpleStatus(1, e)); + } } } @@ -323,41 +333,30 @@ return true; } - /** - * Read the devices.xml locaiton from the local machine registry. - * @return String with full path to file if it exists. Empty string File (may be null) if file does not exist or regisry not read. - */ - private File getDevicesXMLFromRegistry(){ - WindowsRegistry wr = WindowsRegistry.getRegistry(); - String regPath = wr.getLocalMachineValue(SYMBIAN_COMMON_REG_PATH, SYMBIAN_COMMON_PATH); - boolean devicesFileExists = true; + // Read the devices.xml locaiton from the local machine registry. + // return IPath with absolute path to file if it exists or null if file does not exist or registry entry not found. + private IPath getDevicesXMLFromRegistry(){ + String regValue = WindowsRegistry.getRegistry().getLocalMachineValue(SYMBIAN_COMMON_REG_PATH, SYMBIAN_COMMON_PATH); + IPath regPath = regValue != null ? new Path(regValue) : null; - if (regPath == null || !new File(regPath).exists()){ + if (regPath == null){ // No registry entry found... - String errMsg = "Could not read registry for local machine key: " + SYMBIAN_COMMON_REG_PATH + " Cannot get devices.xml for installed SDKs."; - ResourcesPlugin.getPlugin().getLog().log(new Status(IStatus.ERROR, SDKCorePlugin.getPluginId(), IStatus.ERROR, errMsg, null)); - devicesFileExists = false; + String errMsg = MessageFormat.format( + "Could not read registry for local machine key: {0} Cannot get devices.xml for installed SDKs.", + SYMBIAN_COMMON_REG_PATH); + logError(errMsg, null); + return null; + } + + // registry entry exists, check existence of file + regPath = regPath.append(DEVICES_FILE_NAME); + if (!regPath.toFile().exists()){ + String errMsg = MessageFormat.format("Devices.xml does not exist at: {0}", regPath); + logError(errMsg, null); + return null; } - if (devicesFileExists){ - // path exists, not try to check for fullpath + file - int len = regPath.length(); - if (regPath.charAt(len-1) != '\\'){ - regPath += "\\"; - } - regPath += "devices.xml"; - if (!new File(regPath).exists()){ - String errMsg = "Devices.xml does not exist at: " + regPath; - ResourcesPlugin.getPlugin().getLog().log(new Status(IStatus.ERROR, SDKCorePlugin.getPluginId(), IStatus.ERROR, errMsg, null)); - devicesFileExists = false; - } - } - - if (!devicesFileExists){ - regPath = ""; - } - - return new File(regPath); + return regPath; } private void scanCarbideSDKCache(){ @@ -572,29 +571,19 @@ } public File getDevicesXMLFile() { - File devicesFile = getDevicesXMLFromRegistry(); + IPath devicesPath = getDevicesXMLFromRegistry(); - if (!devicesFile.exists()) { - // Not in registry, get the OS drive from the windows registry - WindowsRegistry wr = WindowsRegistry.getRegistry(); - String regPath = ""; - if (wr != null) { - regPath = wr.getLocalMachineValue(WINDOWS_SYSTEM_ROOT_REG, - WINDOWS_SYSTEM_ROOD_KEY); - } - - String osDriveSpec; - if (regPath.length() > 2 && regPath.substring(1, 2).equals(":")) { - osDriveSpec = regPath.substring(0, 2); - } else { - osDriveSpec = DEFAULT_DEVICES_DRIVE_SPEC; // Just use the default drive spec, some problem reading the registry - } - - devicesFile = new File(osDriveSpec + DEFAULT_DEVICES_XML_DIR - + DEVICES_FILE_NAME); + if (devicesPath != null && devicesPath.toFile().exists()) { + return devicesPath.toFile(); } - return devicesFile; + // Not in registry, get the OS drive from the windows registry + String regValue = WindowsRegistry.getRegistry().getLocalMachineValue(WINDOWS_SYSTEM_ROOT_REG, WINDOWS_SYSTEM_ROOT_KEY); + + String osDriveSpec = regValue != null ? new Path(regValue).getDevice() : DEFAULT_DEVICES_DRIVE_SPEC; + + IPath deviceDirPath = new Path(osDriveSpec, DEFAULT_DEVICES_XML_DIR); + return deviceDirPath.append(DEVICES_FILE_NAME).toFile(); } public String getCSLArmToolchainInstallPathAndCheckReqTools() throws SDKEnvInfoFailureException{ @@ -712,7 +701,7 @@ } } catch (IOException e) { - // armcc isnt' in this directory, ignore.... + // armcc isn't in this directory, ignore.... } } @@ -729,50 +718,38 @@ } - private boolean checkDevicesXMLExistAndCreate(){ - boolean fileCreated = false; - ISDKManager sdkMgr = SDKCorePlugin.getSDKManager(); - if (sdkMgr == null){ - return false; - } - - IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow(); - Shell shell = null; - if (window != null) { - shell = window.getShell(); - } else { - return false; - } - - File devicesFile = sdkMgr.getDevicesXMLFile(); + public boolean checkDevicesXMLExistAndCreate() { + Shell shell = WorkbenchUtils.getSafeShell(); + File devicesFile = getDevicesXMLFile(); if (!devicesFile.exists()){ - if (true == MessageDialog.openQuestion(shell, "Cannot find devices.xml.", "Cannot find devices.xml under:\n\n" + DEFAULT_DEVICES_XML_DIR + DEVICES_FILE_NAME + "\n or \nRegistry: HKEY_LOCAL_MACHINE\\SOFTWARE\\Symbian\\EPOC SDKs\\\n\nThis file is required for Carbide.c++ use.\n\nDo you want Carbide to create this file?\n\n")){ + if (MessageDialog.openQuestion(shell, "Devices.xml Not Found", + "Carbide.c++ requires a valid devices.xml file to manage SDKs.\n\nDo you want Carbide to create this file?")) { try { // First check to make sure the directory exists.... - File devicesPath = new File(DEFAULT_DEVICES_XML_DIR); - if (!devicesPath.exists()){ - devicesPath.mkdirs(); + if (!devicesFile.getParentFile().exists()){ + devicesFile.getParentFile().mkdirs(); } - devicesFile = new File(DEFAULT_DEVICES_XML_DIR + DEVICES_FILE_NAME); devicesFile.createNewFile(); + FileWriter fw = new FileWriter(devicesFile); - fw.write(""); + fw.write(EMPTY_DEVICES_XML_CONTENT); fw.close(); - fileCreated = true; - MessageDialog.openInformation(shell, "Devices.xml added", "Devices.xml was created successfully. Please add an SDK under the SDK Preferences page with the \"Add\" button before you attempt to create a project."); - + + MessageDialog.openInformation(shell, "Devices.xml File Created", + MessageFormat.format( + "{0} was created successfully. Please add an SDK under the SDK Preferences page with the \"Add\" button before you attempt to create a project.", + devicesFile.getAbsolutePath())); + return true; } catch (IOException e){ - MessageDialog.openError(shell, "Cannot create file.", "Could not create file: " + devicesFile.toString()); - e.printStackTrace(); + String message = "Could not create file: " + devicesFile.getAbsolutePath(); + MessageDialog.openError(shell, "Cannot Create File", message); + logError(message, e); } - - } else { - MessageDialog.openError(shell, "File not created.", "Devices.xml not created. You will be unable to create projects in Carbide.c++ until this file exists."); } } - return fileCreated; + return false; } protected void checkPerlInstallation(){ @@ -936,4 +913,8 @@ return true; } } + + private void logError(String message, Throwable t) { + SDKCorePlugin.getDefault().getLog().log(new Status(IStatus.ERROR, SDKCorePlugin.getPluginId(), message, t)); + } } diff -r 55ef76a19104 -r 539b1b65d45f core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/sdk/core/model/SymbianSDK.java --- a/core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/sdk/core/model/SymbianSDK.java Mon Jul 06 14:53:12 2009 -0500 +++ b/core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/internal/sdk/core/model/SymbianSDK.java Mon Jul 06 14:59:19 2009 -0500 @@ -1071,7 +1071,7 @@ * Get the full path to the prefix file defined under \epoc32\tools\variant\variant.cfg * @return A path object, or null if the variant.cfg does not exist. This routine does not check to see if the returned path exists. */ - protected IPath getPrefixFromVariantCfg(){ + public IPath getPrefixFromVariantCfg(){ File epocRoot = new File(getEPOCROOT()); File variantCfg; variantCfg = new File(epocRoot, SPP_VARIANT_CFG_FILE); diff -r 55ef76a19104 -r 539b1b65d45f core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/sdk/core/ISDKManager.java --- a/core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/sdk/core/ISDKManager.java Mon Jul 06 14:53:12 2009 -0500 +++ b/core/com.nokia.carbide.cpp.sdk.core/src/com/nokia/carbide/cpp/sdk/core/ISDKManager.java Mon Jul 06 14:59:19 2009 -0500 @@ -132,8 +132,10 @@ public List getPlatformList(); /** - * Get the full path to the devices.xml file. This scans first the windows registry under 'SOFTWARE\Symbian\EPOC SDKs\CommonPath'. - * If CommonPath is not defined then the system drive spec is used with the folder location at '\Program Files\Common Files\Symbian'. + * Get the absolute path to the devices.xml file. + * This first scans the windows registry under 'SOFTWARE\Symbian\EPOC SDKs\CommonPath'. + * If CommonPath is not defined then the system drive spec is used with the folder location at: + * '\Program Files\Common Files\Symbian'. * @return File object. Clients should check File.exists() to make sure the file exists on disk. */ public File getDevicesXMLFile(); diff -r 55ef76a19104 -r 539b1b65d45f core/com.nokia.carbide.cpp.sdk.ui/src/com/nokia/carbide/cpp/internal/sdk/ui/SDKPreferencePage.java --- a/core/com.nokia.carbide.cpp.sdk.ui/src/com/nokia/carbide/cpp/internal/sdk/ui/SDKPreferencePage.java Mon Jul 06 14:53:12 2009 -0500 +++ b/core/com.nokia.carbide.cpp.sdk.ui/src/com/nokia/carbide/cpp/internal/sdk/ui/SDKPreferencePage.java Mon Jul 06 14:59:19 2009 -0500 @@ -33,6 +33,7 @@ import org.eclipse.swt.widgets.*; import org.eclipse.ui.*; +import com.nokia.carbide.cpp.internal.sdk.core.model.SDKManager; import com.nokia.carbide.cpp.sdk.core.*; import com.nokia.carbide.cpp.sdk.ui.SDKUIPlugin; import com.nokia.carbide.cpp.sdk.ui.shared.AddSDKDialog; @@ -100,7 +101,7 @@ GRAY = shell.getDisplay().getSystemColor(SWT.COLOR_WIDGET_BACKGROUND); // check that devices.xml actually exists - checkDevicesXMLExist(); + ((SDKManager) sdkMgr).checkDevicesXMLExistAndCreate(); Composite content = new Composite(parent, SWT.NONE); setControl(content); @@ -533,36 +534,4 @@ protected ISDKManager getSDKManager(){ return sdkMgr; } - - private void checkDevicesXMLExist(){ - if (sdkMgr == null){ - return; - } - - File devicesFile = sdkMgr.getDevicesXMLFile(); - if (!devicesFile.exists()){ - if (true == MessageDialog.openQuestion(shell, "Cannot find devices.xml.", "Devices.xml is required for Carbide.c++ use. Do you want to create this file?\n\n" + ISDKManager.DEFAULT_DEVICES_XML_DIR + ISDKManager.DEVICES_FILE_NAME)){ - try { - //First check to make sure the directory exists.... - File devicesPath = new File(ISDKManager.DEFAULT_DEVICES_XML_DIR); - if (!devicesPath.exists()){ - devicesPath.mkdirs(); - } - - devicesFile = new File(ISDKManager.DEFAULT_DEVICES_XML_DIR + ISDKManager.DEVICES_FILE_NAME); - devicesFile.createNewFile(); - FileWriter fw = new FileWriter(devicesFile); - fw.write(""); - fw.close(); - } catch (IOException e){ - MessageDialog.openError(shell, "Cannot create file.", "Could not create file: " + devicesFile.toString()); - e.printStackTrace(); - } - } else { - MessageDialog.openError(shell, "File not created.", "File not created. You will be unable to create project in Carbide.c++."); - } - - } - } - } \ No newline at end of file diff -r 55ef76a19104 -r 539b1b65d45f core/com.nokia.carbide.cpp.sysdoc.hover/resources/help context/dl_hover/html/setup.html --- a/core/com.nokia.carbide.cpp.sysdoc.hover/resources/help context/dl_hover/html/setup.html Mon Jul 06 14:53:12 2009 -0500 +++ b/core/com.nokia.carbide.cpp.sysdoc.hover/resources/help context/dl_hover/html/setup.html Mon Jul 06 14:59:19 2009 -0500 @@ -45,11 +45,8 @@ New versions of the Developer Library plug-in are published regularly. You can configure Hover Help to use a new version as follows:

      -
    1. - - - Obtain the latest Developer Library plug-in from the - Symbian Foundation website, +
    2. Obtain the latest Developer Library plug-in from the + Forum Nokia > Symbian/C++ Documentation website, and copy the new plug-in into Carbide’s plugins directory.

      NOTE If you experience problems connecting to the site, verify that the connection settings are correct in the Network Connections preference panel before trying again. This is especially important if a proxy setting is required to connect to the internet.

      @@ -58,19 +55,16 @@
    3. - Restart Carbide. - -
    4. + Restart Carbide.
    5. - From the Window > Preferences > Carbide.c++ > Hover Help preferences panel, make sure the new added Developer Library - is selected. If not, select it from the Developer Libraries drop-down box. - -
    6. + From the Window > Preferences > Carbide.c++ > Hover Help preferences panel, make sure the added Developer Library + is selected. If not, select it from the Developer Libraries drop-down box. -
    + +

    Activating Hover Help

    diff -r 55ef76a19104 -r 539b1b65d45f core/com.nokia.carbide.cpp/html/online_banner.html --- a/core/com.nokia.carbide.cpp/html/online_banner.html Mon Jul 06 14:53:12 2009 -0500 +++ b/core/com.nokia.carbide.cpp/html/online_banner.html Mon Jul 06 14:59:19 2009 -0500 @@ -1,49 +1,47 @@ - - - - - -Carbide Online Help Center - - - - - - - - - - - - - -
    Carbide icon - Carbide Online Help Center v2.0 -
    - - - - + + + + + +Carbide Online Help Center + + + + + + + + + + + + + +
    Carbide icon Carbide Online Help Center v2.1
    + + + + diff -r 55ef76a19104 -r 539b1b65d45f core/com.nokia.carbide.cpp/html/welcome_note.htm --- a/core/com.nokia.carbide.cpp/html/welcome_note.htm Mon Jul 06 14:53:12 2009 -0500 +++ b/core/com.nokia.carbide.cpp/html/welcome_note.htm Mon Jul 06 14:59:19 2009 -0500 @@ -14,7 +14,6 @@

    For any other questions, please don't hesitate to contact us.

    Thank you again for choosing Carbide.c++! We hope you like it.

    Carbide.c++ development team
    - www.forum.nokia.com/carbide_cpp
    - Sales.Carbide@Nokia.com

    + www.forum.nokia.com/carbide_cpp

    diff -r 55ef76a19104 -r 539b1b65d45f core/com.nokia.carbide.cpp/introDATA.xml --- a/core/com.nokia.carbide.cpp/introDATA.xml Mon Jul 06 14:53:12 2009 -0500 +++ b/core/com.nokia.carbide.cpp/introDATA.xml Mon Jul 06 14:59:19 2009 -0500 @@ -50,10 +50,10 @@ + + - - diff -r 55ef76a19104 -r 539b1b65d45f core/com.nokia.carbide.cpp/themes/carbide/graphics/icons/obj48/new_obj.gif Binary file core/com.nokia.carbide.cpp/themes/carbide/graphics/icons/obj48/new_obj.gif has changed diff -r 55ef76a19104 -r 539b1b65d45f core/com.nokia.carbide.cpp/themes/carbide/graphics/icons/obj48/newhov_obj.gif Binary file core/com.nokia.carbide.cpp/themes/carbide/graphics/icons/obj48/newhov_obj.gif has changed diff -r 55ef76a19104 -r 539b1b65d45f core/com.nokia.carbide.cpp/themes/carbide/html/shared.css --- a/core/com.nokia.carbide.cpp/themes/carbide/html/shared.css Mon Jul 06 14:53:12 2009 -0500 +++ b/core/com.nokia.carbide.cpp/themes/carbide/html/shared.css Mon Jul 06 14:59:19 2009 -0500 @@ -12,12 +12,12 @@ /* * Set up general fonts, sizes and colors */ -body { font-family : Helvetica, sans-serif; } +body { font-family : Verdana, Helvetica, sans-serif; } H1, H2, H3, H4, p, a { color : #0A94D6; } .intro-header H1 { - font-family: Helvetica, sans-serif; + font-family: Verdana, Helvetica, sans-serif; font-size: 20px; color: #0A94D6; } @@ -25,7 +25,7 @@ h2 { font-size : 13pt; font-weight : normal; - color : #333333; + color : #EEEEEE; } /* For regular div labels */ H4 .div-label { @@ -44,8 +44,8 @@ /* For the main page content's title */ #content-header H4 .div-label { font-size : 14pt; - font-weight : normal; - color : #333333; + font-weight : bold; + color : #0A94D6; float : none; clear : both; } @@ -75,7 +75,7 @@ #navigation-links a .link-label { font-size : 9pt; font-weight : normal; - color : #00A1D0; + color : #0A94D6; } a .text { @@ -357,7 +357,9 @@ vertical-align : middle; } +/* Controls link titles on welcome page */ #page-content * a .link-label { + font-weight : bold; display : block; position : relative; top : -50px; @@ -367,6 +369,7 @@ #page-content * a > .link-label { left: 65px; } +/* Controls text description 0n welcome page */ #page-content * a p .text { display : block; position : relative; @@ -374,6 +377,7 @@ margin-bottom: -25px; left : 53px; margin-right: 53px; + color: #000; } #page-content * a p > .text { left: 58px; } @@ -396,7 +400,7 @@ float : none; clear : both; text-align : left; - color: #0A94D6; + /* color: #000000; */ /* Carbide branding mod margin-bottom : 0px; /* background-image : url(../graphics/contentpage/page-link-wide.gif); */ diff -r 55ef76a19104 -r 539b1b65d45f core/com.nokia.cpp.utils.ui/src/com/nokia/cpp/internal/api/utils/ui/QueryWithTristatePrefDialog.java --- a/core/com.nokia.cpp.utils.ui/src/com/nokia/cpp/internal/api/utils/ui/QueryWithTristatePrefDialog.java Mon Jul 06 14:53:12 2009 -0500 +++ b/core/com.nokia.cpp.utils.ui/src/com/nokia/cpp/internal/api/utils/ui/QueryWithTristatePrefDialog.java Mon Jul 06 14:59:19 2009 -0500 @@ -111,7 +111,7 @@ boolean confirmed = false; if (type == QUERY_YES_NO) { dialog = MessageDialogWithToggle.openYesNoQuestion( - parentShell, title, prompt, null, + parentShell, title, prompt, "Don't ask to manage dependencies again.", initialSetting, preferences, prefName); confirmed = dialog.getReturnCode() == IDialogConstants.YES_ID; diff -r 55ef76a19104 -r 539b1b65d45f project/com.nokia.carbide.cpp.epoc.engine/src/com/nokia/carbide/cpp/epoc/engine/ISBVViewRunnable.java --- a/project/com.nokia.carbide.cpp.epoc.engine/src/com/nokia/carbide/cpp/epoc/engine/ISBVViewRunnable.java Mon Jul 06 14:53:12 2009 -0500 +++ b/project/com.nokia.carbide.cpp.epoc.engine/src/com/nokia/carbide/cpp/epoc/engine/ISBVViewRunnable.java Mon Jul 06 14:59:19 2009 -0500 @@ -21,7 +21,7 @@ import com.nokia.carbide.cpp.epoc.engine.model.sbv.ISBVView; /** - * Instantiate this interface and pass to EpocEnginePlugin#runWithSBVView() + * Pass this interface to EpocEnginePlugin#runWithSBVView() * to encapsulate some of the bookkeeping of model/view handling. * * @noimplement This interface is not intended to be implemented by clients. diff -r 55ef76a19104 -r 539b1b65d45f project/com.nokia.carbide.cpp.epoc.engine/src/com/nokia/carbide/internal/cpp/epoc/engine/parser/ASTTokenManager.java --- a/project/com.nokia.carbide.cpp.epoc.engine/src/com/nokia/carbide/internal/cpp/epoc/engine/parser/ASTTokenManager.java Mon Jul 06 14:53:12 2009 -0500 +++ b/project/com.nokia.carbide.cpp.epoc.engine/src/com/nokia/carbide/internal/cpp/epoc/engine/parser/ASTTokenManager.java Mon Jul 06 14:59:19 2009 -0500 @@ -132,6 +132,8 @@ return -1; case IToken.PUNC: return -1; + case IToken.CHAR: + return -1; case IToken.RAW: if (iToken.getText().length() == 0) return -1; diff -r 55ef76a19104 -r 539b1b65d45f templates/com.nokia.carbide.cpp.templates/templates/projecttemplates/S60-PlatsecApp/group/Icons_scalable_dc.mk --- a/templates/com.nokia.carbide.cpp.templates/templates/projecttemplates/S60-PlatsecApp/group/Icons_scalable_dc.mk Mon Jul 06 14:53:12 2009 -0500 +++ b/templates/com.nokia.carbide.cpp.templates/templates/projecttemplates/S60-PlatsecApp/group/Icons_scalable_dc.mk Mon Jul 06 14:59:19 2009 -0500 @@ -25,7 +25,9 @@ BLD : do_nothing -CLEAN : do_nothing +CLEAN : + @echo ...Deleting $(ICONTARGETFILENAME) + del /q /f $(ICONTARGETFILENAME) LIB : do_nothing diff -r 55ef76a19104 -r 539b1b65d45f templates/com.nokia.carbide.cpp.templates/templates/projecttemplates/S60-TouchUIApplication/group/Icons_scalable_dc.mk --- a/templates/com.nokia.carbide.cpp.templates/templates/projecttemplates/S60-TouchUIApplication/group/Icons_scalable_dc.mk Mon Jul 06 14:53:12 2009 -0500 +++ b/templates/com.nokia.carbide.cpp.templates/templates/projecttemplates/S60-TouchUIApplication/group/Icons_scalable_dc.mk Mon Jul 06 14:59:19 2009 -0500 @@ -25,7 +25,9 @@ BLD : do_nothing -CLEAN : do_nothing +CLEAN : + @echo ...Deleting $(ICONTARGETFILENAME) + del /q /f $(ICONTARGETFILENAME) LIB : do_nothing diff -r 55ef76a19104 -r 539b1b65d45f uidesigner/com.nokia.sdt.series60.componentlibrary/templates/Series 60 v3.0 EXE/group/Icons_aif_scalable_dc.mk --- a/uidesigner/com.nokia.sdt.series60.componentlibrary/templates/Series 60 v3.0 EXE/group/Icons_aif_scalable_dc.mk Mon Jul 06 14:53:12 2009 -0500 +++ b/uidesigner/com.nokia.sdt.series60.componentlibrary/templates/Series 60 v3.0 EXE/group/Icons_aif_scalable_dc.mk Mon Jul 06 14:59:19 2009 -0500 @@ -32,7 +32,9 @@ BLD : do_nothing -CLEAN : do_nothing +CLEAN : + @echo ...Deleting $(ICONTARGETFILENAME) + del /q /f $(ICONTARGETFILENAME) LIB : do_nothing diff -r 55ef76a19104 -r 539b1b65d45f uidesigner/com.nokia.sdt.series60.componentlibrary/templates/tutorials/Birthdays/group/icons_aif_scalable_dc.mk --- a/uidesigner/com.nokia.sdt.series60.componentlibrary/templates/tutorials/Birthdays/group/icons_aif_scalable_dc.mk Mon Jul 06 14:53:12 2009 -0500 +++ b/uidesigner/com.nokia.sdt.series60.componentlibrary/templates/tutorials/Birthdays/group/icons_aif_scalable_dc.mk Mon Jul 06 14:59:19 2009 -0500 @@ -32,7 +32,9 @@ BLD : do_nothing -CLEAN : do_nothing +CLEAN : + @echo ...Deleting $(ICONTARGETFILENAME) + del /q /f $(ICONTARGETFILENAME) LIB : do_nothing diff -r 55ef76a19104 -r 539b1b65d45f uidesigner/com.nokia.sdt.series60.componentlibrary/templates/tutorials/YahooImageSearch/group/icons_aif_scalable_dc.mk --- a/uidesigner/com.nokia.sdt.series60.componentlibrary/templates/tutorials/YahooImageSearch/group/icons_aif_scalable_dc.mk Mon Jul 06 14:53:12 2009 -0500 +++ b/uidesigner/com.nokia.sdt.series60.componentlibrary/templates/tutorials/YahooImageSearch/group/icons_aif_scalable_dc.mk Mon Jul 06 14:59:19 2009 -0500 @@ -32,7 +32,9 @@ BLD : do_nothing -CLEAN : do_nothing +CLEAN : + @echo ...Deleting $(ICONTARGETFILENAME) + del /q /f $(ICONTARGETFILENAME) LIB : do_nothing