CDT源代码框架分析改造 关于IMarker

每个断电对象都有IMarker。它携带了一些信息。这些信息同时又从cdt返回。

初始创建在CDIDebugModel  创建断点的时候。

如果没有设置

 

也许getMarker().setAttribute(ICFunctionBreakpoint.FUNCTION_BREAKPOINT_NUMBER, number);你设置进去了的

return getMarker().getAttribute(ICFunctionBreakpoint.FUNCTION_BREAKPOINT_NUMBER, -1); 还是返回的是-1

 

所以初始化的时候就必须创建

 

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 );
    }

}

 

posted on 2015-09-11 17:03  代码菇凉  阅读(572)  评论(0编辑  收藏  举报

导航