46 import com.sun.jdi.connect.IllegalConnectorArgumentsException;
47 import com.sun.jdi.connect.LaunchingConnector;
48 import com.sun.jdi.connect.VMStartException;
49 import com.sun.jdi.event.ClassPrepareEvent;
50 import com.sun.jdi.event.Event;
51 import com.sun.jdi.event.EventQueue;
52 import com.sun.jdi.event.EventSet;
53 import com.sun.jdi.event.ModificationWatchpointEvent;
54 import com.sun.jdi.event.VMDeathEvent;
55 import com.sun.jdi.event.VMStartEvent;
56 import com.sun.jdi.event.VMDisconnectEvent;
57 import com.sun.jdi.request.ClassPrepareRequest;
58 import com.sun.jdi.request.EventRequest;
59 import com.sun.jdi.request.EventRequestManager;
60 import com.sun.jdi.request.ModificationWatchpointRequest;
61
62 public class FieldMonitor {
63
64 public static final String CLASS_NAME = "TestPostFieldModification";
65 public static final String FIELD_NAME = "value";
66 public static final String ARGUMENTS = "-Xshare:off -XX:+PrintGC";
67
68 public static void main(String[] args)
69 throws IOException, InterruptedException {
70
71 //VirtualMachine vm = launchTarget(sb.toString());
72 VirtualMachine vm = launchTarget(CLASS_NAME);
73
74 System.out.println("Vm launched");
75
76 // process events
77 EventQueue eventQueue = vm.eventQueue();
78 // resume the vm
79
80 Process process = vm.process();
81
82
83 // Copy target's output and error to our output and error.
84 Thread outThread = new StreamRedirectThread("out reader", process.getInputStream());
85 Thread errThread = new StreamRedirectThread("error reader", process.getErrorStream());
86
|
46 import com.sun.jdi.connect.IllegalConnectorArgumentsException;
47 import com.sun.jdi.connect.LaunchingConnector;
48 import com.sun.jdi.connect.VMStartException;
49 import com.sun.jdi.event.ClassPrepareEvent;
50 import com.sun.jdi.event.Event;
51 import com.sun.jdi.event.EventQueue;
52 import com.sun.jdi.event.EventSet;
53 import com.sun.jdi.event.ModificationWatchpointEvent;
54 import com.sun.jdi.event.VMDeathEvent;
55 import com.sun.jdi.event.VMStartEvent;
56 import com.sun.jdi.event.VMDisconnectEvent;
57 import com.sun.jdi.request.ClassPrepareRequest;
58 import com.sun.jdi.request.EventRequest;
59 import com.sun.jdi.request.EventRequestManager;
60 import com.sun.jdi.request.ModificationWatchpointRequest;
61
62 public class FieldMonitor {
63
64 public static final String CLASS_NAME = "TestPostFieldModification";
65 public static final String FIELD_NAME = "value";
66 public static final String ARGUMENTS = "-Xshare:off -Xlog:gc";
67
68 public static void main(String[] args)
69 throws IOException, InterruptedException {
70
71 //VirtualMachine vm = launchTarget(sb.toString());
72 VirtualMachine vm = launchTarget(CLASS_NAME);
73
74 System.out.println("Vm launched");
75
76 // process events
77 EventQueue eventQueue = vm.eventQueue();
78 // resume the vm
79
80 Process process = vm.process();
81
82
83 // Copy target's output and error to our output and error.
84 Thread outThread = new StreamRedirectThread("out reader", process.getInputStream());
85 Thread errThread = new StreamRedirectThread("error reader", process.getErrorStream());
86
|