static MethodBreakpoint createBreakpoint(String stopClassName) { MethodBreakpoint breakpoint = MethodBreakpoint.create( stopClassName, "*" //NOI18N ); breakpoint.setHidden(true); DebuggerManager.getDebuggerManager().addBreakpoint(breakpoint); return breakpoint; }
private void scriptToBeInvoked(ObjectVariable mh) { ObjectVariable member = (ObjectVariable) mh.getField("member"); if (!(member instanceof ObjectVariable)) { logger.info("Variable "+mh+" does not have member field: "+member); return ; } ObjectVariable clazz = (ObjectVariable) member.getField("clazz"); if (!(clazz instanceof ClassVariable)) { logger.info("Variable "+mh+" does not have clazz field: "+clazz); return ; } //JPDAClassType classType = ((ClassVariable) clazz).getReflectedType(); JPDAClassType classType; try { classType = (JPDAClassType) clazz.getClass().getMethod("getReflectedType").invoke(clazz); } catch (IllegalAccessException | IllegalArgumentException | InvocationTargetException | NoSuchMethodException | SecurityException ex) { Exceptions.printStackTrace(ex); return ; } String className = classType.getName(); MethodBreakpoint mb = MethodBreakpoint.create(className, ""); mb.setHidden(true); mb.setSuspend(debugger.getSuspend()); mb.setSession(debugger); mb.addJPDABreakpointListener(new InScriptBPListener(mb)); DebuggerManager.getDebuggerManager().addBreakpoint(mb); logger.log(Level.FINE, "Created {0} for any method in {1}", new Object[]{mb, className}); }
@Override public Breakpoint[] initBreakpoints() { scriptBP = ClassLoadUnloadBreakpoint.create(JSUtils.NASHORN_SCRIPT+"*", false, ClassLoadUnloadBreakpoint.TYPE_CLASS_LOADED); scriptBP.setHidden(true); scriptBP.setSuspend(EventRequest.SUSPEND_NONE); sourceBindBP = MethodBreakpoint.create(NASHORN_CONTEXT_CLASS, NASHORN_CONTEXT_SOURCE_BIND_METHOD); sourceBindBP.setHidden(true); sourceBindBP.setSuspend(EventRequest.SUSPEND_EVENT_THREAD); return new Breakpoint[] { scriptBP, sourceBindBP }; }
private static MethodBreakpoint createBreakpoint () { String className; try { className = EditorContextBridge.getContext().getCurrentClassName(); } catch (java.awt.IllegalComponentStateException icsex) { className = ""; } String methodName; try { methodName = EditorContextBridge.getContext().getCurrentMethodName(); } catch (java.awt.IllegalComponentStateException icsex) { methodName = ""; } MethodBreakpoint mb = MethodBreakpoint.create ( className, methodName ); try { mb.setMethodSignature(EditorContextBridge.getCurrentMethodSignature()); } catch (java.awt.IllegalComponentStateException icsex) {} mb.setPrintText ( NbBundle.getBundle (MethodBreakpointPanel.class).getString ("CTL_Method_Breakpoint_Print_Text") ); return mb; }
MethodBreakpoint scriptMethodBP = MethodBreakpoint.create(scriptType.getName(), "*getMap"); scriptMethodBP.setHidden(true); scriptMethodBP.setSuspend(EventRequest.SUSPEND_EVENT_THREAD);
b.setPrintText(NbBundle.getMessage(FieldBreakpointPanel.class, "CTL_Field_Breakpoint_Print_Text")); } else { b = MethodBreakpoint.create(className, methodName); ((MethodBreakpoint) b).setMethodSignature(methodSignature); b.setPrintText(NbBundle.getMessage(MethodBreakpointPanel.class, "CTL_Method_Breakpoint_Print_Text"));
for (int i = 0; i < mbn; i++) { String method = SCRIPT_ACCESS_METHODS[i]; MethodBreakpoint mb = MethodBreakpoint.create(SCRIPT_ACCESS_CLASS, method); mb.setHidden(true); mb.setSuspend(debugger.getSuspend()); notifyInvokeBP = MethodBreakpoint.create(DebuggerSupport.DEBUGGER_SUPPORT_CLASS, SCRIPT_NOTIFY_INVOKE_METHOD); notifyInvokeBP.setMethodSignature(SCRIPT_NOTIFY_INVOKE_METHOD_SIG);