每一个断电对象都有IMarker。它携带了一些信息。这些信息同时又从cdt返回。spa
初始建立在CDIDebugModel 建立断点的时候。code
若是没有设置对象
也许getMarker().setAttribute(ICFunctionBreakpoint.FUNCTION_BREAKPOINT_NUMBER, number);你设置进去了的blog
return getMarker().getAttribute(ICFunctionBreakpoint.FUNCTION_BREAKPOINT_NUMBER, -1); 仍是返回的是-1get
因此初始化的时候就必须建立it
CDIDebugModel{ public static ICLineBreakpoint createLineBreakpoint( String sourceHandle, IResource resource, int lineNumber, boolean enabled, int ignoreCount, String condition, boolean register ) throws CoreException { HashMap attributes = new HashMap( 10 ); attributes.put( IBreakpoint.ID, getPluginIdentifier() ); attributes.put( IMarker.LINE_NUMBER, new Integer( lineNumber ) ); attributes.put( IBreakpoint.ENABLED, Boolean.valueOf( enabled ) ); attributes.put( ICBreakpoint.IGNORE_COUNT, new Integer( ignoreCount ) ); attributes.put( ICBreakpoint.CONDITION, condition ); attributes.put( ICBreakpoint.SOURCE_HANDLE, sourceHandle ); return new CLineBreakpoint( resource, attributes, register ); } }