コード例 #1
0
        private void HandleBreakpoint(jvmtiEnvHandle env, JNIEnvHandle jniEnv, jthread threadHandle, jmethodID method, jlocation jlocation)
        {
            JvmEnvironment     environment = JvmEnvironment.GetEnvironment(env);
            JvmThreadReference thread      = JvmThreadReference.FromHandle(environment, jniEnv, threadHandle, true);
            JvmLocation        location    = new JvmLocation(environment, method, jlocation);

            foreach (var processor in _processors)
            {
                processor.HandleBreakpoint(environment, thread, location);
            }
        }
コード例 #2
0
        private void HandleExceptionCatch(jvmtiEnvHandle env, JNIEnvHandle jniEnv, jthread threadHandle, jmethodID method, jlocation jlocation, jobject exceptionHandle)
        {
            JvmEnvironment     environment = JvmEnvironment.GetEnvironment(env);
            JvmThreadReference thread      = JvmThreadReference.FromHandle(environment, jniEnv, threadHandle, true);
            JvmLocation        location    = new JvmLocation(environment, method, jlocation);
            JvmObjectReference exception   = JvmObjectReference.FromHandle(environment, jniEnv, exceptionHandle, true);

            foreach (var processor in _processors)
            {
                processor.HandleExceptionCatch(environment, thread, location, exception);
            }
        }
コード例 #3
0
        private void HandleFieldModification(jvmtiEnvHandle env, JNIEnvHandle jniEnv, jthread threadHandle, jmethodID method, jlocation jlocation, jclass fieldClassHandle, jobject @objectHandle, jfieldID fieldId, byte signatureType, jvalue newValue)
        {
            JvmEnvironment     environment = JvmEnvironment.GetEnvironment(env);
            JvmThreadReference thread      = JvmThreadReference.FromHandle(environment, jniEnv, threadHandle, true);
            JvmLocation        location    = new JvmLocation(environment, method, jlocation);
            JvmClassReference  fieldClass  = JvmClassReference.FromHandle(environment, jniEnv, fieldClassHandle, true);
            JvmObjectReference @object     = JvmObjectReference.FromHandle(environment, jniEnv, objectHandle, true);
            JvmField           field       = new JvmField(environment, fieldId);

            foreach (var processor in _processors)
            {
                processor.HandleFieldModification(environment, thread, location, fieldClass, @object, field, signatureType, newValue);
            }
        }
コード例 #4
0
 internal JvmAddressLocationMap(JvmLocation location, IntPtr startAddress)
 {
     Location     = location;
     StartAddress = startAddress;
 }
コード例 #5
0
 public virtual void HandleSingleStep(JvmEnvironment environment, JvmThreadReference thread, JvmLocation location)
 {
 }
コード例 #6
0
 public virtual void HandleExceptionCatch(JvmEnvironment environment, JvmThreadReference thread, JvmLocation location, JvmObjectReference exception)
 {
 }
コード例 #7
0
 public virtual void HandleFieldModification(JvmEnvironment environment, JvmThreadReference thread, JvmLocation location, JvmClassReference fieldClass, JvmObjectReference @object, JvmField field, byte signatureType, jvalue newValue)
 {
 }
コード例 #8
0
 public virtual void HandleFieldAccess(JvmEnvironment environment, JvmThreadReference thread, JvmLocation location, JvmClassReference fieldClass, JvmObjectReference @object, JvmField field)
 {
 }
コード例 #9
0
 public virtual void HandleBreakpoint(JvmEnvironment environment, JvmThreadReference thread, JvmLocation location)
 {
 }