internal JvmStackInfo(JvmThreadReference thread, jvmtiThreadState state, ReadOnlyCollection <JvmLocation> frames) { Contract.Requires <ArgumentNullException>(thread != null, "thread"); Contract.Requires <ArgumentNullException>(frames != null, "frames"); _thread = thread; _state = state; _frames = frames; }
public jvmtiError GetThreadState(JvmVirtualMachineRemoteHandle virtualMachine, JvmThreadRemoteHandle thread, out jvmtiThreadState threadState) { JavaVM machine = JavaVM.GetInstance(virtualMachine); jvmtiThreadState threadStateResult = jvmtiThreadState.None; jvmtiError result = jvmtiError.Internal; machine.InvokeOnJvmThread( (environment) => { jvmtiInterface rawInterface = environment.RawInterface; result = rawInterface.GetThreadState(environment.Handle, thread, out threadStateResult); }); threadState = threadStateResult; return(result); }
public bool GetIsSuspended() { jvmtiThreadState state = Environment.GetThreadState(this); return((state & jvmtiThreadState.Suspended) != 0); }