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 ); } }
浙公网安备 33010602011771号