示例#1
0
        public jvmtiError GetCurrentThread(JvmVirtualMachineRemoteHandle virtualMachine, out JvmThreadRemoteHandle threadHandle)
        {
            JavaVM machine = JavaVM.GetInstance(virtualMachine);

            jthread    thread = jthread.Null;
            jvmtiError result = jvmtiError.Internal;

            machine.InvokeOnJvmThread(
                (environment) =>
            {
                jvmtiInterface rawInterface = environment.RawInterface;
                result = rawInterface.GetCurrentThread(environment.Handle, out thread);
            });

            threadHandle = new JvmThreadRemoteHandle(thread);
            return(result);
        }
示例#2
0
        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);
        }
示例#3
0
 public jvmtiError SetLocalDouble(JvmVirtualMachineRemoteHandle virtualMachine, JvmThreadRemoteHandle thread, int depth, int slot, double value)
 {
     throw new NotImplementedException();
 }
示例#4
0
 public jvmtiError GetLocalFloat(JvmVirtualMachineRemoteHandle virtualMachine, JvmThreadRemoteHandle thread, int depth, int slot, out float value)
 {
     throw new NotImplementedException();
 }
示例#5
0
 public jvmtiError GetLocalInstance(JvmVirtualMachineRemoteHandle virtualMachine, JvmThreadRemoteHandle thread, int depth, out JvmObjectRemoteHandle value)
 {
     throw new NotImplementedException();
 }
示例#6
0
 public jvmtiError ForceEarlyReturnVoid(JvmVirtualMachineRemoteHandle virtualMachine, JvmThreadRemoteHandle thread)
 {
     throw new NotImplementedException();
 }
示例#7
0
 public jvmtiError ForceEarlyReturnObject(JvmVirtualMachineRemoteHandle virtualMachine, JvmThreadRemoteHandle thread, JvmObjectRemoteHandle value)
 {
     throw new NotImplementedException();
 }
示例#8
0
        public jvmtiError GetThreadInfo(JvmVirtualMachineRemoteHandle virtualMachine, JvmThreadRemoteHandle thread, out JvmThreadRemoteInfo info)
        {
            JavaVM machine = JavaVM.GetInstance(virtualMachine);

            jvmtiThreadInfo threadInfo = default(jvmtiThreadInfo);
            jvmtiError      result     = jvmtiError.Internal;

            machine.InvokeOnJvmThread(
                (environment) =>
            {
                jvmtiInterface rawInterface = environment.RawInterface;
                result = rawInterface.GetThreadInfo(environment.Handle, thread, out threadInfo);
            });

            info = new JvmThreadRemoteInfo()
            {
                Name               = threadInfo.Name,
                Priority           = threadInfo._priority,
                IsDaemon           = threadInfo._isDaemon != 0,
                ContextClassLoader = new JvmObjectRemoteHandle(threadInfo._contextClassLoader),
                ThreadGroup        = new JvmThreadGroupRemoteHandle(threadInfo._threadGroup)
            };

            return(result);
        }
示例#9
0
 public jvmtiError GetFrameLocation(JvmVirtualMachineRemoteHandle virtualMachine, JvmThreadRemoteHandle thread, int depth, out JvmRemoteLocation location)
 {
     throw new NotImplementedException();
 }
示例#10
0
 public jvmtiError GetFrameCount(JvmVirtualMachineRemoteHandle virtualMachine, JvmThreadRemoteHandle thread, out int frameCount)
 {
     throw new NotImplementedException();
 }
示例#11
0
 public jvmtiError GetStackTrace(JvmVirtualMachineRemoteHandle virtualMachine, JvmThreadRemoteHandle thread, int startDepth, int maxFrameCount, out JvmRemoteLocation[] frames)
 {
     throw new NotImplementedException();
 }
示例#12
0
 public jvmtiError GetThreadLocalStorage(JvmVirtualMachineRemoteHandle virtualMachine, JvmThreadRemoteHandle thread, out long data)
 {
     throw new NotImplementedException();
 }
示例#13
0
 public jvmtiError GetCurrentContendedMonitor(JvmVirtualMachineRemoteHandle virtualMachine, JvmThreadRemoteHandle thread, out JvmObjectRemoteHandle monitor)
 {
     throw new NotImplementedException();
 }
示例#14
0
 public jvmtiError GetOwnedMonitorInfo(JvmVirtualMachineRemoteHandle virtualMachine, JvmThreadRemoteHandle thread, out JvmObjectRemoteHandle[] ownedMonitors)
 {
     throw new NotImplementedException();
 }
示例#15
0
 public jvmtiError NotifyFramePop(JvmVirtualMachineRemoteHandle virtualMachine, JvmThreadRemoteHandle thread, int depth)
 {
     throw new NotImplementedException();
 }
示例#16
0
 public jvmtiError ResumeThread(JvmVirtualMachineRemoteHandle virtualMachine, JvmThreadRemoteHandle thread)
 {
     throw new NotImplementedException();
 }
示例#17
0
 public jvmtiError StopThread(JvmVirtualMachineRemoteHandle virtualMachine, JvmThreadRemoteHandle thread, JvmObjectRemoteHandle exception)
 {
     throw new NotImplementedException();
 }