CDT源代码框架分析改造 线程对象的改造 添加标签 区分断点跟跟踪点
生活随笔
收集整理的這篇文章主要介紹了
CDT源代码框架分析改造 线程对象的改造 添加标签 区分断点跟跟踪点
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
cdt 到debug 通信路線
CBreakpointManager類中
?
protected void setBreakpointsOnTarget0( ICBreakpoint[] breakpoints ) { //添加標示符 String pointtype =breakpoint.getPointType();fileName = convertPath(fileName).toOSString();ICDIFunctionLocation location = cdiTarget.createFunctionLocation( fileName, function );ICDICondition condition = createCondition2( breakpoint );fBreakpointProblems.add(BreakpointProblems.reportUnresolvedBreakpoint(breakpoint, getDebugTarget().getName(), getDebugTarget().getInternalID()));if (bpManager2 != null)cdiBreakpoint = bpManager2.setFunctionBreakpoint( location, condition, true,breakpoints[i].isEnabled(), breakpoints[i].isTemporary(),breakpoint.getID(), symbolFile ,pointtype); .... }Target
?
/***** wangmin * add type is tracepoint* */public ICDIFunctionBreakpoint setFunctionBreakpoint(ICDIFunctionLocation location,ICDICondition condition, boolean deferred, boolean enabled, boolean temp, String id, String symbolFilePath,String pointType) throws CDIException {BreakpointManager bMgr = ((Session)getSession()).getBreakpointManager();return bMgr.setFunctionBreakpoint(this, location, condition, deferred, enabled, temp, id, symbolFilePath, pointType);}breakpointManager
?
/*** * wangmin add type* @param target* @param location* @param condition* @param deferred* @param enabled* @param temp* @param id* @param symbolFilePath* @return* @throws CDIException*/public ICDIFunctionBreakpoint setFunctionBreakpoint(Target target, ICDIFunctionLocation location,ICDICondition condition, boolean deferred, boolean enabled, boolean temp, String id, String symbolFilePath,String typePoint ) throws CDIException {FunctionBreakpoint bkpt = new FunctionBreakpoint(target, location, condition, enabled);//bkpt.setID(id);//duyingze 20080802 所有斷點使用統一的id bkpt.setPointType(typePoint);bkpt.setBpID(id);bkpt.setSymbolFilePath(symbolFilePath);setNewLocationBreakpoint(bkpt, deferred);return bkpt;}這里注意下?FunctionBreakpoint 是LocationBreakpoint的子類
同樣是管理器中
調用mi。并且創建了一個MIBreakpointCreatedEvent事件。
?
?
protected void setNewLocationBreakpoint(LocationBreakpoint bkpt, boolean deferred) throws CDIException {Target target = (Target)bkpt.getTarget();MISession miSession = target.getMISession();try {setLocationBreakpoint(bkpt);List blist = getBreakpointsList(target);blist.add(bkpt);// Fire a created Event.MIBreakpoint[] miBreakpoints = bkpt.getMIBreakpoints();if (miBreakpoints != null && miBreakpoints.length > 0) {miSession.fireEvent(new MIBreakpointCreatedEvent(miSession, miBreakpoints[0].getNumber()));}}?
轉載于:https://www.cnblogs.com/codeGirl-wangMin/p/4815518.html
總結
以上是生活随笔為你收集整理的CDT源代码框架分析改造 线程对象的改造 添加标签 区分断点跟跟踪点的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算广告 读书笔记 计算广告的核心问题
- 下一篇: Xcode7常见问题汇总