package xtc.lang.blink.agent;
/**
* A Blink debug agent. This agent provides two key functionalities. First, the
* agent allows the Java debugger to yield its control to the native debugger
* and vice versa. Second, this agent informs the Java debugger of the JVM
* internal information such as the string representation of a Java method and
* the JVM process identifier.
*
* @author Byeongcheol Lee
*/
class Agent {
/** The main method for testing purpose. */
public static void main(String[] args) {
init();
}
/** Initialize the Blink agent. The Java debugger will call this
* method. */
public static void init() {
AgentVariable.init();
}
/** The internal Java break point. */
public static void jbp() {}
/** Get a debuggee's process identifier. */
public static native int getProcessID();
/** Yield control from the Java debugger to the native debugger. */
public static native void j2c();
/** This is dummy utility code to simply run dummy java code. */
public static int dummyJava() {
int i = 0;
i++;
return i;
}
public static native int dummyNative();
}