Package com.sun.jdi.event

Examples of com.sun.jdi.event.ClassPrepareEvent


                  dispatcher.notifyObservers(event);
                }
                 
              });
            } else if (event instanceof ClassPrepareEvent) {
              ClassPrepareEvent cpe = (ClassPrepareEvent) event;
              // set breakpoints
              for (Breakpoint bp : EditorFacade.getInstance().getBreakpoints()) {
                if (bp.getClassName().equals(cpe.referenceType().name())) {
                  List<Method> mlist = cpe.referenceType().methodsByName(bp.getMethodName(), bp.getMethodDesc().getRawDesc());
                  if (mlist.size() > 0) {
                    Location loc = mlist.get(0).locationOfCodeIndex(bp.getPc());
                    BreakpointRequest bpr = vm.eventRequestManager().createBreakpointRequest(loc);
                    bpr.setSuspendPolicy(EventRequest.SUSPEND_ALL);
                    bpr.setEnabled(true);
View Full Code Here


              resumir.add(((ThreadDeathEvent) event).thread());
            }
           
            else if(event instanceof ClassPrepareEvent)
              {
              ClassPrepareEvent cpe=(ClassPrepareEvent) event;
                  ReferenceType rt = cpe.referenceType();
                 
                  //inspeccionar metodos
                  if(traceFilter.isTraceMethods())
                    {
                    for(Method method : rt.methods())
                       {
                      if(method.location()!=null)
                        {
                        BreakpointRequest br = vm.eventRequestManager().createBreakpointRequest(method.location());
                        br.setSuspendPolicy(EventRequest.SUSPEND_EVENT_THREAD);
                        br.setEnabled(true);
                        }
                       }
                    }
               
                  //inspeccion de acceso y modificacionde atributos
                  if(traceFilter.isTraceFields())
                    {
                    for(Field field : rt.fields())
                      {
                      AccessWatchpointRequest awr = vm.eventRequestManager().createAccessWatchpointRequest(field);
                      awr.setSuspendPolicy(EventRequest.SUSPEND_EVENT_THREAD);
                      awr.setEnabled(true);
                     
                      ModificationWatchpointRequest mwr = vm.eventRequestManager().createModificationWatchpointRequest(field);
                      mwr.setSuspendPolicy(EventRequest.SUSPEND_EVENT_THREAD);
                      mwr.setEnabled(true);
                      }
                    }
                 
                  //inspeccionar excepciones
                  if(traceFilter.isTraceExceptions())
                    {
                    ExceptionRequest er = vm.eventRequestManager().createExceptionRequest(null, true, true);
                    er.addClassFilter(rt);
                    er.setSuspendPolicy(EventRequest.SUSPEND_EVENT_THREAD);
                    er.setEnabled(true);
                    }
                 
                  EClassLoadEvent eEvent;
            //generar evento
                  generatedEvents.add(eEvent=dataManager.createClassLoadEvent(cpe));
                 
                  //resumir hilo
                  resumir.add(((ClassPrepareEvent) event).thread());
                 
                  //if(rt.name().equals("one.PruebaStack"))
                    {
                    MethodEntryRequest mer = vm.eventRequestManager().createMethodEntryRequest();
                    mer.setSuspendPolicy(EventRequest.SUSPEND_EVENT_THREAD);
                    mer.addThreadFilter(cpe.thread());
                    mer.putProperty("threadName", cpe.thread().name());
                    mer.putProperty("eEvent", eEvent);
                    mer.putProperty("where", "class load");
                    //mer.addClassFilter("one.PruebaStack");
                    mer.addClassFilter(rt);
                    mer.setEnabled(true);
                   
                    MethodExitRequest mxr = vm.eventRequestManager().createMethodExitRequest();
                    mxr.setSuspendPolicy(EventRequest.SUSPEND_EVENT_THREAD);
                    mxr.addThreadFilter(cpe.thread());
                    mxr.putProperty("threadName", cpe.thread().name());
                    mxr.putProperty("eEvent", eEvent);
                    mxr.putProperty("where", "breakpoint");
                    mxr.addClassFilter(rt);
                    mxr.setEnabled(true);
                    }
View Full Code Here

              resumir.add(((ThreadDeathEvent) event).thread());
            }
           
            else if(event instanceof ClassPrepareEvent)
              {
              ClassPrepareEvent cpe=(ClassPrepareEvent) event;
                           
              //deshabilitar evento
              /*event.request().disable();
                  vm.eventRequestManager().deleteEventRequest(event.request());
                  */
                  ReferenceType rt = cpe.referenceType();
                 
                  //inspeccion method entry y method exit
                  //primero se ejecuta el breakpoint
                  if(traceFilter.isTraceMethods())
                    {
View Full Code Here

   
    eventSet.resume();
  }
 
  private void handleClassPrepareEvent(ClassPrepareEvent event) {
    ClassPrepareEvent classPrepareEvent = (ClassPrepareEvent) event;
    String mainClassName = classPrepareEvent.referenceType().name();
    BreakpointManager bpm = BreakpointManager.getInstance();
    bpm.tryCreateBreakpointRequest(mainClassName);
   
    event.thread().resume();
  }
View Full Code Here

                long eventIniTime = System.currentTimeMillis();
                //int resumeVMtimes = 0;
                for(EventIterator i = eventSet.eventIterator(); i.hasNext(); ) {
                    Event evt = i.nextEvent();
                    if(evt instanceof ClassPrepareEvent) {
                        ClassPrepareEvent cpe = (ClassPrepareEvent) evt;
                        ReferenceType refType = cpe.referenceType();
                        logClazz.debug("Loading: " + refType.name() + " [cl:" + refType.classLoader()+"]");
                        loadClassDebug(refType, cpe.thread());
                    } else if(evt instanceof ClassUnloadEvent) {
                      ClassUnloadEvent cue = (ClassUnloadEvent) evt;
                      logClazz.debug("Unloading: " + cue.className());
                    } else if(evt instanceof ThreadStartEvent) {
                      ThreadStartEvent tse = (ThreadStartEvent) evt;
View Full Code Here

          // exit
          connected = false;
        } else if (event instanceof ClassPrepareEvent) {
          // watch field on loaded class
          System.out.println("ClassPrepareEvent");
          ClassPrepareEvent classPrepEvent = (ClassPrepareEvent) event;
          ReferenceType refType = classPrepEvent
              .referenceType();
          addFieldWatch(vm, refType);
        } else if (event instanceof ModificationWatchpointEvent) {
          System.out.println("sleep for 500 ms");
          Thread.sleep(500);
View Full Code Here

                                                           event.request(), locatableEvent.location() );
                    }
                }
                else if ( event instanceof ClassPrepareEvent )
                {
                    ClassPrepareEvent prepareEvent = (ClassPrepareEvent) event;
                    handler.onClassPrepare( suspension, prepareEvent.virtualMachine(), prepareEvent.thread(),
                                            (ClassPrepareRequest) prepareEvent.request(),
                                            prepareEvent.referenceType() );
                }
                else if ( event instanceof ClassUnloadEvent )
                {
                    ClassUnloadEvent unloadEvent = (ClassUnloadEvent) event;
                    handler.onClassUnload( suspension, unloadEvent.virtualMachine(),
View Full Code Here

TOP

Related Classes of com.sun.jdi.event.ClassPrepareEvent

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.