44import com .sun .jdi .event .*;
55import com .sun .jdi .request .ClassPrepareRequest ;
66import com .sun .jdi .request .EventRequestManager ;
7- import com .sun .jdi .request .ModificationWatchpointRequest ;
87import com .sun .jdi .request .StepRequest ;
8+ import processing .app .Messages ;
99import processing .mode .java .Debugger ;
1010import processing .mode .java .debug .ClassLoadListener ;
1111import processing .mode .java .debug .LineBreakpoint ;
1212import processing .mode .java .debug .LineID ;
1313
1414import java .io .IOException ;
15- import java .util .List ;
1615
1716public class AndroidDebugger extends Debugger {
1817 /// editor window, acting as main view
@@ -25,8 +24,6 @@ public class AndroidDebugger extends Debugger {
2524 private String pkgName = "" ;
2625 private String sketchClassName = "" ;
2726
28- public static final String FIELD_NAME = "mouseX" ;
29-
3027 public AndroidDebugger (AndroidEditor editor , AndroidMode androidMode ) {
3128 super (editor );
3229 this .editor = editor ;
@@ -65,40 +62,20 @@ public synchronized void startDebug(AndroidRunner runner, Device device) {
6562 // connect
6663 System .out .println ("\n :debugger:Attaching Debugger" );
6764 VirtualMachine vm = runner .connectVirtualMachine (port );
68- System .out .println ("ATTACHED" );
65+ System .out .println ("DEBUGGER ATTACHED" );
6966
7067 // start receiving vm events
7168 VMEventReader eventThread = new VMEventReader (vm .eventQueue (), vmEventListener );
7269 eventThread .start ();
7370
7471 // watch for loaded classes
7572 addClassWatch (vm );
76- // // set watch field on already loaded classes
77- // List<ReferenceType> referenceTypes = vm.classesByName(pkgName + "." + sketchClassName);
78- //
79- // System.out.println("referenceTypes size " + referenceTypes.size());
80- // for (ReferenceType refType : referenceTypes) {
81- // addFieldWatch(vm, refType);
82- // // Adding breakpoint at line 27
83- // try {
84- // List<Location> locations = refType.locationsOfLine(28);
85- // if (locations.isEmpty()){
86- // System.out.println("no location found for line 27");
87- // } else {
88- // BreakpointRequest bpr = vm.eventRequestManager().createBreakpointRequest(locations.get(0));
89- // bpr.enable();
90- // }
91- // } catch (AbsentInformationException e) {
92- // e.printStackTrace();
93- // }
94- // }
95-
9673
9774 // resume the vm
9875 vm .resume ();
9976
10077 } catch (IOException e ) {
101- System . out . println ("ERROR : " + e .getMessage ());
78+ Messages . log ("ERROR : " + e .getMessage ());
10279 // Retry
10380 startDebug (runner , device );
10481 } catch (InterruptedException e ) {
@@ -114,7 +91,7 @@ public synchronized void startDebug(AndroidRunner runner, Device device) {
11491 return ;
11592 }
11693 for (Event e : es ) {
117- System .out .println ("VM Event: " + e );
94+ // System.out.println("VM Event: " + e);
11895 if (e instanceof VMStartEvent ) {
11996 System .out .println ("start" );
12097
@@ -290,17 +267,6 @@ private void addClassWatch(VirtualMachine vm) {
290267 classPrepareRequest .setEnabled (true );
291268 }
292269
293- /**
294- * Watch field ({@value FIELD_NAME})
295- */
296- private void addFieldWatch (VirtualMachine vm ,
297- ReferenceType refType ) {
298- EventRequestManager erm = vm .eventRequestManager ();
299- Field field = refType .fieldByName (FIELD_NAME );
300- ModificationWatchpointRequest modificationWatchpointRequest = erm .createModificationWatchpointRequest (field );
301- modificationWatchpointRequest .setEnabled (true );
302- }
303-
304270 @ Override
305271 public VirtualMachine vm () {
306272 if (runtime != null ) {
0 commit comments