CACAO
Macros | Functions | Variables
VMjdwp.cpp File Reference

Go to the source code of this file.

Macros

#define FINDCLASSWITHEXCEPTION(CLASS, SIGNATURE)
 
#define GETMIDWITHEXCEPTION(CLASS, CLASSNAME, MID, METHODNAME, METHODSIG)
 

Functions

void printjvmtierror (char *desc, jvmtiError err)
 
static void notify (JNIEnv *jni_env, jobject event)
 
static void ThreadStart (jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread)
 
static void ThreadEnd (jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread)
 
static void ClassPrepare (jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread, jclass klass)
 
static void Exception (jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread, jmethodID method, jlocation location, jobject exception, jmethodID catch_method, jlocation catch_location)
 
static void Breakpoint (jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread, jmethodID method, jlocation location)
 
static void MethodEntry (jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread, jmethodID method)
 
static void VMDeath (jvmtiEnv *jvmti_env, JNIEnv *jni_env)
 
static void setup_jdwp_thread (JNIEnv *jni_env)
 
static void fillidcache (JNIEnv *jni_env)
 
static void VMInit (jvmtiEnv *jvmti_env, JNIEnv *jni_env, jthread thread)
 
static void usage ()
 
static bool processoptions (char *options)
 
JNIEXPORT jint JNICALL Agent_OnLoad (JavaVM *vm, char *options, void *reserved)
 

Variables

static jclass Jdwpclass
 
static jclass threadstartclass
 
static jclass threadendclass
 
static jclass classprepareclass
 
static jclass vmmethodclass
 
static jclass locationclass
 
static jclass breakpointclass
 
static jmethodID notifymid
 
static jmethodID threadstartmid
 
static jmethodID threadendmid
 
static jmethodID classpreparemid
 
static jmethodID vmmethodmid
 
static jmethodID locationmid
 
static jmethodID breakpointmid
 
jvmtiEventCallbacks jvmti_jdwp_EventCallbacks
 

Macro Definition Documentation

#define FINDCLASSWITHEXCEPTION (   CLASS,
  SIGNATURE 
)
Value:
CLASS = (*jni_env)->FindClass(jni_env, SIGNATURE); \
if ((*jni_env)->ExceptionOccurred(jni_env) != NULL) { \
fprintf(stderr,"could not find %s\n", SIGNATURE); \
(*jni_env)->ExceptionDescribe(jni_env); \
exit(1); \
}
JNIEnv * jni_env
Definition: jvmti.h:207

Definition at line 264 of file VMjdwp.cpp.

#define GETMIDWITHEXCEPTION (   CLASS,
  CLASSNAME,
  MID,
  METHODNAME,
  METHODSIG 
)
Value:
FINDCLASSWITHEXCEPTION(CLASS, CLASSNAME); \
MID = (*jni_env)->GetMethodID(jni_env, CLASS, METHODNAME, METHODSIG); \
if ((*jni_env)->ExceptionOccurred(jni_env) != NULL) { \
fprintf(stderr,"could not get %s %s\n",CLASSNAME, METHODNAME); \
(*jni_env)->ExceptionDescribe(jni_env); \
exit(1); \
}
JNIEnv * jni_env
Definition: jvmti.h:207
#define FINDCLASSWITHEXCEPTION(CLASS, SIGNATURE)
Definition: VMjdwp.cpp:264

Definition at line 271 of file VMjdwp.cpp.

Function Documentation

JNIEXPORT jint JNICALL Agent_OnLoad ( JavaVM vm,
char *  options,
void reserved 
)

Definition at line 431 of file VMjdwp.cpp.

static void Breakpoint ( jvmtiEnv jvmti_env,
JNIEnv jni_env,
jthread  thread,
jmethodID  method,
jlocation  location 
)
static

Definition at line 136 of file VMjdwp.cpp.

static void ClassPrepare ( jvmtiEnv jvmti_env,
JNIEnv jni_env,
jthread  thread,
jclass  klass 
)
static

Definition at line 102 of file VMjdwp.cpp.

static void Exception ( jvmtiEnv jvmti_env,
JNIEnv jni_env,
jthread  thread,
jmethodID  method,
jlocation  location,
jobject  exception,
jmethodID  catch_method,
jlocation  catch_location 
)
static

Definition at line 127 of file VMjdwp.cpp.

static void fillidcache ( JNIEnv jni_env)
static

Definition at line 281 of file VMjdwp.cpp.

static void MethodEntry ( jvmtiEnv jvmti_env,
JNIEnv jni_env,
jthread  thread,
jmethodID  method 
)
static

Definition at line 182 of file VMjdwp.cpp.

static void notify ( JNIEnv jni_env,
jobject  event 
)
static

Definition at line 53 of file VMjdwp.cpp.

void printjvmtierror ( char *  desc,
jvmtiError  err 
)

Definition at line 37 of file VMjdwp.cpp.

static bool processoptions ( char *  options)
static

Definition at line 385 of file VMjdwp.cpp.

static void setup_jdwp_thread ( JNIEnv jni_env)
static

Definition at line 200 of file VMjdwp.cpp.

static void ThreadEnd ( jvmtiEnv jvmti_env,
JNIEnv jni_env,
jthread  thread 
)
static

Definition at line 83 of file VMjdwp.cpp.

static void ThreadStart ( jvmtiEnv jvmti_env,
JNIEnv jni_env,
jthread  thread 
)
static

Definition at line 64 of file VMjdwp.cpp.

static void usage ( void  )
static

Definition at line 377 of file VMjdwp.cpp.

static void VMDeath ( jvmtiEnv jvmti_env,
JNIEnv jni_env 
)
static

Definition at line 188 of file VMjdwp.cpp.

static void VMInit ( jvmtiEnv jvmti_env,
JNIEnv jni_env,
jthread  thread 
)
static

Definition at line 325 of file VMjdwp.cpp.

Variable Documentation

jclass breakpointclass
static

Definition at line 49 of file VMjdwp.cpp.

jmethodID breakpointmid
static

Definition at line 50 of file VMjdwp.cpp.

jclass classprepareclass
static

Definition at line 49 of file VMjdwp.cpp.

jmethodID classpreparemid
static

Definition at line 50 of file VMjdwp.cpp.

jclass Jdwpclass
static

Definition at line 49 of file VMjdwp.cpp.

jvmtiEventCallbacks jvmti_jdwp_EventCallbacks

Definition at line 478 of file VMjdwp.cpp.

jclass locationclass
static

Definition at line 49 of file VMjdwp.cpp.

jmethodID locationmid
static

Definition at line 50 of file VMjdwp.cpp.

jmethodID notifymid
static

Definition at line 50 of file VMjdwp.cpp.

jclass threadendclass
static

Definition at line 49 of file VMjdwp.cpp.

jmethodID threadendmid
static

Definition at line 50 of file VMjdwp.cpp.

jclass threadstartclass
static

Definition at line 49 of file VMjdwp.cpp.

jmethodID threadstartmid
static

Definition at line 50 of file VMjdwp.cpp.

jclass vmmethodclass
static

Definition at line 49 of file VMjdwp.cpp.

jmethodID vmmethodmid
static

Definition at line 50 of file VMjdwp.cpp.