Index:
ChangeLog =================================================================== RCS
file: /home/tools/org.eclipse.cdt.debug.core/ChangeLog,v retrieving revision
1.114 diff -u -r1.114 ChangeLog --- ChangeLog 29 Jan 2003 22:19:59
-0000 1.114 +++ ChangeLog 30 Jan 2003 15:58:20 -0000 @@ -1,3
+1,7 @@ +2003-01-30 Mikhail Khodjaiants + Create an address
breakpoint if the source locator can not find the file specified by
gdb. + * CDebugTarget.java + 2003-01-29 Mikhail
Khodjaiants Managing breakpoints from the gdb console
(fixes). * CDebugModel.java Index:
CDebugTarget.java =================================================================== RCS
file:
/home/tools/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/model/CDebugTarget.java,v retrieving
revision 1.77 diff -u -r1.77 CDebugTarget.java ---
CDebugTarget.java 29 Jan 2003 22:19:59 -0000 1.77 +++
CDebugTarget.java 30 Jan 2003 15:58:39 -0000 @@ -1510,27 +1510,17
@@ Object sourceElement =
((ICSourceLocator)((IAdaptable)getSourceLocator()).getAdapter(
ICSourceLocator.class )).findSourceElement(
cdiBreakpoint.getLocation().getFile()
); if ( sourceElement != null &&
sourceElement instanceof IFile
) { - ICLineBreakpoint
breakpoint = CDebugModel.createLineBreakpoint(
(IFile)sourceElement, - cdiBreakpoint.getLocation().getLineNumber(), - cdiBreakpoint.isEnabled(), - cdiBreakpoint.getCondition().getIgnoreCount(), - cdiBreakpoint.getCondition().getExpression(), - false
); - getBreakpoints().put( breakpoint,
cdiBreakpoint
); - ((CBreakpoint)breakpoint).register(
true ); + createLineBreakpoint(
(IFile)sourceElement, cdiBreakpoint
); + } + else if
( cdiBreakpoint.getLocation().getAddress() > 0
) + { + createAddressBreakpoint(
cdiBreakpoint
); } } } else
if ( cdiBreakpoint.getLocation().getAddress() > 0
) { - ICAddressBreakpoint
breakpoint = CDebugModel.createAddressBreakpoint(
getExecFile(), -
cdiBreakpoint.getLocation().getAddress(), -
cdiBreakpoint.isEnabled(), -
cdiBreakpoint.getCondition().getIgnoreCount(), -
cdiBreakpoint.getCondition().getExpression(), -
false ); - getBreakpoints().put( breakpoint,
cdiBreakpoint ); - ((CBreakpoint)breakpoint).register(
true ); + createAddressBreakpoint( cdiBreakpoint
); } } catch(
CDIException e ) @@ -1539,6 +1529,30 @@ catch(
CoreException e
) { } + } + + private
void createLineBreakpoint( IFile file, ICDILocationBreakpoint cdiBreakpoint )
throws CDIException, CoreException + { + ICLineBreakpoint
breakpoint = CDebugModel.createLineBreakpoint(
file, + cdiBreakpoint.getLocation().getLineNumber(), + cdiBreakpoint.isEnabled(), + cdiBreakpoint.getCondition().getIgnoreCount(), + cdiBreakpoint.getCondition().getExpression(), + false
); + getBreakpoints().put( breakpoint, cdiBreakpoint
); + ((CBreakpoint)breakpoint).register( true
); + } + + private void createAddressBreakpoint(
ICDILocationBreakpoint cdiBreakpoint ) throws CDIException,
CoreException + { + ICAddressBreakpoint breakpoint =
CDebugModel.createAddressBreakpoint(
getExecFile(), +
cdiBreakpoint.getLocation().getAddress(), +
cdiBreakpoint.isEnabled(), +
cdiBreakpoint.getCondition().getIgnoreCount(), +
cdiBreakpoint.getCondition().getExpression(), +
false ); + getBreakpoints().put( breakpoint, cdiBreakpoint
); + ((CBreakpoint)breakpoint).register( true
); } private void
handleWatchpointCreatedEvent( final ICDIWatchpoint watchpoint
)
|