本文整理汇总了Java中com.sun.jdi.request.MethodExitRequest类的典型用法代码示例。如果您正苦于以下问题:Java MethodExitRequest类的具体用法?Java MethodExitRequest怎么用?Java MethodExitRequest使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
MethodExitRequest类属于com.sun.jdi.request包,在下文中一共展示了MethodExitRequest类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: updateRequestState
import com.sun.jdi.request.MethodExitRequest; //导入依赖的package包/类
private void updateRequestState(final boolean enabled, @Nullable final ThreadReference thread) {
try {
final MethodExitRequest request = myRequest;
if (request != null) {
myRequest = null;
myRequestManager.deleteEventRequest(request);
}
if (enabled) {
myLastExecutedMethod = null;
myLastMethodReturnValue = null;
myRequest = createRequest(thread);
myRequest.enable();
}
}
catch (ObjectCollectedException ignored) {
}
}
示例2: createRequest
import com.sun.jdi.request.MethodExitRequest; //导入依赖的package包/类
private MethodExitRequest createRequest(@Nullable final ThreadReference thread) {
final MethodExitRequest request = myRequestManager.createMethodExitRequest();
request.setSuspendPolicy(EventRequest.SUSPEND_NONE);
if (thread != null) {
request.addThreadFilter(thread);
}
return request;
}
示例3: createRequest
import com.sun.jdi.request.MethodExitRequest; //导入依赖的package包/类
public void createRequest(DebugProcessImpl debugProcess) {
DebuggerManagerThreadImpl.assertIsManagerThread();
if (!shouldCreateRequest(debugProcess)) {
return;
}
try {
RequestManagerImpl requestManager = debugProcess.getRequestsManager();
if (isWatchEntry()) {
MethodEntryRequest entryRequest = MethodBreakpoint.findRequest(debugProcess, MethodEntryRequest.class, this);
if (entryRequest == null) {
entryRequest = requestManager.createMethodEntryRequest(this);
}
else {
entryRequest.disable();
}
entryRequest.addClassFilter(getClassPattern());
debugProcess.getRequestsManager().enableRequest(entryRequest);
}
if (isWatchExit()) {
MethodExitRequest exitRequest = MethodBreakpoint.findRequest(debugProcess, MethodExitRequest.class, this);
if (exitRequest == null) {
exitRequest = requestManager.createMethodExitRequest(this);
}
else {
exitRequest.disable();
}
exitRequest.addClassFilter(getClassPattern());
debugProcess.getRequestsManager().enableRequest(exitRequest);
}
}
catch (Exception e) {
LOG.debug(e);
}
}
示例4: wrapMethodExitRequests
import com.sun.jdi.request.MethodExitRequest; //导入依赖的package包/类
public static List<MethodExitRequest> wrapMethodExitRequests(
F3VirtualMachine f3vm, List<MethodExitRequest> reqs) {
if (reqs == null) {
return null;
}
List<MethodExitRequest> result = new ArrayList<MethodExitRequest>();
for (MethodExitRequest req : reqs) {
result.add(wrap(f3vm, req));
}
return result;
}
示例5: run
import com.sun.jdi.request.MethodExitRequest; //导入依赖的package包/类
final String run(String[] args) {
if (jdb.status != Status.STARTED) {
return String.format(NOT_VALID_UNTIL_STARTED, "step up");
}
MethodExitRequest request =
jdb.eventRequestManager.createMethodExitRequest();
request.addThreadFilter(jdb.thread);
request.addCountFilter(1);
request.enable();
return "Step up to the caller.";
}
示例6: createRequest
import com.sun.jdi.request.MethodExitRequest; //导入依赖的package包/类
public void createRequest(DebugProcessImpl debugProcess) {
DebuggerManagerThreadImpl.assertIsManagerThread();
if (!ENABLED || !debugProcess.isAttached() || debugProcess.areBreakpointsMuted() || !debugProcess.getRequestsManager().findRequests(this).isEmpty()) {
return;
}
try {
RequestManagerImpl requestManager = debugProcess.getRequestsManager();
if (WATCH_ENTRY) {
MethodEntryRequest entryRequest = (MethodEntryRequest)findRequest(debugProcess, MethodEntryRequest.class);
if (entryRequest == null) {
entryRequest = requestManager.createMethodEntryRequest(this);
}
else {
entryRequest.disable();
}
entryRequest.addClassFilter(myClassPattern);
debugProcess.getRequestsManager().enableRequest(entryRequest);
}
if (WATCH_EXIT) {
MethodExitRequest exitRequest = (MethodExitRequest)findRequest(debugProcess, MethodExitRequest.class);
if (exitRequest == null) {
exitRequest = requestManager.createMethodExitRequest(this);
}
else {
exitRequest.disable();
}
exitRequest.addClassFilter(myClassPattern);
debugProcess.getRequestsManager().enableRequest(exitRequest);
}
}
catch (Exception e) {
LOG.debug(e);
}
}
示例7: setEventRequests
import com.sun.jdi.request.MethodExitRequest; //导入依赖的package包/类
/**
* Create the desired event requests, and enable
* them so that we will get events.
* @param excludes Class patterns for which we don't want events
* @param watchFields Do we want to watch assignments to fields
*/
void setEventRequests() {
EventRequestManager mgr = vm.eventRequestManager();
ExceptionRequest excReq = mgr.createExceptionRequest(null,true, true);
excReq.setSuspendPolicy(EventRequest.SUSPEND_ALL);
excReq.enable();
MethodEntryRequest menr = mgr.createMethodEntryRequest();
for (int i=0; i<excludes.size(); ++i) {
menr.addClassExclusionFilter(excludes.get(i));
}
menr.setSuspendPolicy(EventRequest.SUSPEND_ALL);
menr.enable();
MethodExitRequest mexr = mgr.createMethodExitRequest();
for (int i=0; i<excludes.size(); ++i) {
mexr.addClassExclusionFilter(excludes.get(i));
}
mexr.setSuspendPolicy(EventRequest.SUSPEND_ALL);
mexr.enable();
ThreadDeathRequest tdr = mgr.createThreadDeathRequest();
tdr.setSuspendPolicy(EventRequest.SUSPEND_ALL);
tdr.enable();
}
示例8: addExcludes
import com.sun.jdi.request.MethodExitRequest; //导入依赖的package包/类
static void addExcludes(MethodExitRequest request) {
for (String pattern : excludes()) {
request.addClassExclusionFilter(pattern);
}
}
示例9: createMethodExitRequest
import com.sun.jdi.request.MethodExitRequest; //导入依赖的package包/类
public MethodExitRequest createMethodExitRequest() {
return new MethodExitRequestImpl();
}
示例10: methodExitRequests
import com.sun.jdi.request.MethodExitRequest; //导入依赖的package包/类
public List<MethodExitRequest> methodExitRequests() {
return (List<MethodExitRequest>)unmodifiableRequestList(EventRequestManagerImpl.methodExitEventCmd);
}
示例11: createRequestForPreparedClass
import com.sun.jdi.request.MethodExitRequest; //导入依赖的package包/类
protected void createRequestForPreparedClass(@NotNull DebugProcessImpl debugProcess, @NotNull ReferenceType classType) {
try {
boolean hasMethod = false;
for (Iterator iterator = classType.allMethods().iterator(); iterator.hasNext();) {
Method method = (Method)iterator.next();
String signature = method.signature();
String name = method.name();
if (getMethodName().equals(name) && mySignature.getName(debugProcess).equals(signature)) {
hasMethod = true;
break;
}
}
if(!hasMethod) {
debugProcess.getRequestsManager().setInvalid(
this, DebuggerBundle.message("error.invalid.breakpoint.method.not.found", classType.name())
);
return;
}
RequestManagerImpl requestManager = debugProcess.getRequestsManager();
if (isWatchEntry()) {
MethodEntryRequest entryRequest = findRequest(debugProcess, MethodEntryRequest.class, this);
if (entryRequest == null) {
entryRequest = requestManager.createMethodEntryRequest(this);
}
else {
entryRequest.disable();
}
//entryRequest.addClassFilter(myClassQualifiedName);
// use addClassFilter(ReferenceType) in order to stop on subclasses also!
entryRequest.addClassFilter(classType);
debugProcess.getRequestsManager().enableRequest(entryRequest);
}
if (isWatchExit()) {
MethodExitRequest exitRequest = findRequest(debugProcess, MethodExitRequest.class, this);
if (exitRequest == null) {
exitRequest = requestManager.createMethodExitRequest(this);
}
else {
exitRequest.disable();
}
//exitRequest.addClassFilter(myClassQualifiedName);
exitRequest.addClassFilter(classType);
debugProcess.getRequestsManager().enableRequest(exitRequest);
}
}
catch (Exception e) {
LOG.debug(e);
}
}
示例12: methodExitRequests
import com.sun.jdi.request.MethodExitRequest; //导入依赖的package包/类
public List<MethodExitRequest> methodExitRequests() {
return F3EventRequest.wrapMethodExitRequests(virtualMachine(),
underlying().methodExitRequests());
}
示例13: F3MethodExitRequest
import com.sun.jdi.request.MethodExitRequest; //导入依赖的package包/类
public F3MethodExitRequest(F3VirtualMachine f3vm, MethodExitRequest underlying) {
super(f3vm, underlying);
}
示例14: underlying
import com.sun.jdi.request.MethodExitRequest; //导入依赖的package包/类
@Override
protected MethodExitRequest underlying() {
return (MethodExitRequest) super.underlying();
}
示例15: wrap
import com.sun.jdi.request.MethodExitRequest; //导入依赖的package包/类
public static F3EventRequest wrap(F3VirtualMachine f3vm, EventRequest req) {
if (req == null) {
return null;
}
if (req instanceof AccessWatchpointRequest) {
return new F3AccessWatchpointRequest(f3vm, (AccessWatchpointRequest)req);
} else if (req instanceof BreakpointRequest) {
return new F3BreakpointRequest(f3vm, (BreakpointRequest)req);
} else if (req instanceof ClassPrepareRequest) {
return new F3ClassPrepareRequest(f3vm, (ClassPrepareRequest)req);
} else if (req instanceof ClassUnloadRequest) {
return new F3ClassUnloadRequest(f3vm, (ClassUnloadRequest)req);
} else if (req instanceof ExceptionRequest) {
return new F3ExceptionRequest(f3vm, (ExceptionRequest)req);
} else if (req instanceof MethodEntryRequest) {
return new F3MethodEntryRequest(f3vm, (MethodEntryRequest)req);
} else if (req instanceof MethodExitRequest) {
return new F3MethodExitRequest(f3vm, (MethodExitRequest)req);
} else if (req instanceof ModificationWatchpointRequest) {
return new F3ModificationWatchpointRequest(f3vm, (ModificationWatchpointRequest)req);
} else if (req instanceof MonitorContendedEnterRequest) {
return new F3MonitorContendedEnterRequest(f3vm, (MonitorContendedEnterRequest)req);
} else if (req instanceof MonitorContendedEnteredRequest) {
return new F3MonitorContendedEnteredRequest(f3vm, (MonitorContendedEnteredRequest)req);
} else if (req instanceof MonitorWaitRequest) {
return new F3MonitorWaitRequest(f3vm, (MonitorWaitRequest)req);
} else if (req instanceof MonitorWaitedRequest) {
return new F3MonitorWaitedRequest(f3vm, (MonitorWaitedRequest)req);
} else if (req instanceof StepRequest) {
return new F3StepRequest(f3vm, (StepRequest)req);
} else if (req instanceof ThreadDeathRequest) {
return new F3ThreadDeathRequest(f3vm, (ThreadDeathRequest)req);
} else if (req instanceof ThreadStartRequest) {
return new F3ThreadStartRequest(f3vm, (ThreadStartRequest)req);
} else if (req instanceof VMDeathRequest) {
return new F3VMDeathRequest(f3vm, (VMDeathRequest)req);
} else if (req instanceof WatchpointRequest) {
return new F3WatchpointRequest(f3vm, (WatchpointRequest)req);
} else {
return new F3EventRequest(f3vm, req);
}
}