Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlain Magloire2008-03-28 15:42:17 +0000
committerAlain Magloire2008-03-28 15:42:17 +0000
commit802af6b09cae2e216d33e3bfde910d2a24088652 (patch)
treefcab96aec5cba3ef9010226099b6e4daf7a0aa6c /debug/org.eclipse.cdt.debug.mi.ui/src/org/eclipse
parentdd9db085d7acdb2e6d8dd0538a7044ba5832e8cf (diff)
downloadorg.eclipse.cdt-802af6b09cae2e216d33e3bfde910d2a24088652.tar.gz
org.eclipse.cdt-802af6b09cae2e216d33e3bfde910d2a24088652.tar.xz
org.eclipse.cdt-802af6b09cae2e216d33e3bfde910d2a24088652.zip
*org.eclipse.cdt.debug.mi.core/{AbstractGDBCDIDebugger,IMILaunchConfigurationConstants}.java
*org.eclipse.cdt.debug.mi.core/MISession.java * org.eclipse.cdt.debug.mi.core.cdi/BreakpointManager.ajva *org.eclipse.cdt.debug.mi.internal/iu/{StandardGDBDebuggerPage.java,MIUIMEssages.properties} 220045 Debuger is stopping on non-existing breakpoints for files with same name Patch from Elena
Diffstat (limited to 'debug/org.eclipse.cdt.debug.mi.ui/src/org/eclipse')
-rw-r--r--debug/org.eclipse.cdt.debug.mi.ui/src/org/eclipse/cdt/debug/mi/internal/ui/MIUIMessages.properties1
-rw-r--r--debug/org.eclipse.cdt.debug.mi.ui/src/org/eclipse/cdt/debug/mi/internal/ui/StandardGDBDebuggerPage.java39
2 files changed, 38 insertions, 2 deletions
diff --git a/debug/org.eclipse.cdt.debug.mi.ui/src/org/eclipse/cdt/debug/mi/internal/ui/MIUIMessages.properties b/debug/org.eclipse.cdt.debug.mi.ui/src/org/eclipse/cdt/debug/mi/internal/ui/MIUIMessages.properties
index 33a935a0087..b8023908379 100644
--- a/debug/org.eclipse.cdt.debug.mi.ui/src/org/eclipse/cdt/debug/mi/internal/ui/MIUIMessages.properties
+++ b/debug/org.eclipse.cdt.debug.mi.ui/src/org/eclipse/cdt/debug/mi/internal/ui/MIUIMessages.properties
@@ -37,6 +37,7 @@ StandardGDBDebuggerPage.10=Shared Libraries
StandardGDBDebuggerPage.11=Protocol:
StandardGDBDebuggerPage.12=GDB command set:
StandardGDBDebuggerPage.13=Verbose console mode
+StandardGDBDebuggerPage.14=Use full file path to set breakpoints
GDBServerDebuggerPage.0=TCP
GDBServerDebuggerPage.1=Serial
GDBServerDebuggerPage.10=Connection
diff --git a/debug/org.eclipse.cdt.debug.mi.ui/src/org/eclipse/cdt/debug/mi/internal/ui/StandardGDBDebuggerPage.java b/debug/org.eclipse.cdt.debug.mi.ui/src/org/eclipse/cdt/debug/mi/internal/ui/StandardGDBDebuggerPage.java
index 65de76f7920..779edec50c9 100644
--- a/debug/org.eclipse.cdt.debug.mi.ui/src/org/eclipse/cdt/debug/mi/internal/ui/StandardGDBDebuggerPage.java
+++ b/debug/org.eclipse.cdt.debug.mi.ui/src/org/eclipse/cdt/debug/mi/internal/ui/StandardGDBDebuggerPage.java
@@ -66,6 +66,7 @@ public class StandardGDBDebuggerPage extends AbstractCDebuggerPage implements Ob
protected Combo fProtocolCombo;
protected Button fVerboseModeButton;
+ protected Button fBreakpointsFullPath;
private IMILaunchConfigurationComponent fSolibBlock;
@@ -232,14 +233,23 @@ public class StandardGDBDebuggerPage extends AbstractCDebuggerPage implements Ob
// use default
}
fVerboseModeButton.setSelection( verboseMode );
-
+ fBreakpointsFullPath.setSelection(getBreakpointsWithFullNameAttribute(configuration));
// We've populated combos, which affects their preferred size, and so must relayout things.
Control changed[] = { fCommandFactoryCombo, fProtocolCombo };
((Composite) getControl()).layout( changed );
setInitializing( false );
}
-
+ protected boolean getBreakpointsWithFullNameAttribute( ILaunchConfiguration config ) {
+ boolean result = IMILaunchConfigurationConstants.DEBUGGER_FULLPATH_BREAKPOINTS_DEFAULT;
+ try {
+ return config.getAttribute( IMILaunchConfigurationConstants.ATTR_DEBUGGER_FULLPATH_BREAKPOINTS, result );
+ }
+ catch( CoreException e ) {
+ // use default
+ }
+ return result;
+ }
public void performApply( ILaunchConfigurationWorkingCopy configuration ) {
String str = fGDBCommandText.getText();
str.trim();
@@ -256,6 +266,7 @@ public class StandardGDBDebuggerPage extends AbstractCDebuggerPage implements Ob
if ( fSolibBlock != null )
fSolibBlock.performApply( configuration );
configuration.setAttribute( IMILaunchConfigurationConstants.ATTR_DEBUGGER_VERBOSE_MODE, fVerboseModeButton.getSelection() );
+ configuration.setAttribute( IMILaunchConfigurationConstants.ATTR_DEBUGGER_FULLPATH_BREAKPOINTS, fBreakpointsFullPath.getSelection() );
}
public String getName() {
@@ -393,6 +404,14 @@ public class StandardGDBDebuggerPage extends AbstractCDebuggerPage implements Ob
createCommandFactoryCombo( options );
createProtocolCombo( options );
createVerboseModeButton( subComp );
+ createBreakpointFullPathName(subComp);
+ // fit options into 3-grid one per line
+ GridData gd1 = new GridData();
+ gd1.horizontalSpan = 3;
+ fVerboseModeButton.setLayoutData(gd1);
+ GridData gd2 = new GridData();
+ gd2.horizontalSpan = 3;
+ fBreakpointsFullPath.setLayoutData(gd2);
}
public void createSolibTab( TabFolder tabFolder ) {
@@ -496,4 +515,20 @@ public class StandardGDBDebuggerPage extends AbstractCDebuggerPage implements Ob
}
} );
}
+ protected void createBreakpointFullPathName( Composite parent ) {
+ fBreakpointsFullPath = createCheckButton( parent, MIUIMessages.getString( "StandardGDBDebuggerPage.14" ) ); //$NON-NLS-1$
+
+ fBreakpointsFullPath.addSelectionListener( new SelectionListener() {
+
+ public void widgetDefaultSelected( SelectionEvent e ) {
+ if ( !isInitializing() )
+ updateLaunchConfigurationDialog();
+ }
+
+ public void widgetSelected( SelectionEvent e ) {
+ if ( !isInitializing() )
+ updateLaunchConfigurationDialog();
+ }
+ } );
+ }
}

Back to the top