Skip to content

Commit e3430c9

Browse files
authored
Merge pull request #710 from rupeshkumar22/debuggerImprovements2
Debugger Improvements - In Progress
2 parents f5c5185 + 7b881a8 commit e3430c9

File tree

2 files changed

+37
-20
lines changed

2 files changed

+37
-20
lines changed

mode/src/processing/mode/android/AndroidDebugger.java

Lines changed: 31 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -23,15 +23,16 @@
2323

2424
import com.sun.jdi.*;
2525
import com.sun.jdi.event.*;
26+
import com.sun.jdi.event.Event;
2627
import com.sun.jdi.request.ClassPrepareRequest;
2728
import com.sun.jdi.request.EventRequestManager;
2829
import com.sun.jdi.request.StepRequest;
30+
import processing.app.Language;
2931
import processing.app.Messages;
30-
import processing.mode.java.debug.Debugger;
31-
import processing.mode.java.debug.ClassLoadListener;
32-
import processing.mode.java.debug.LineBreakpoint;
33-
import processing.mode.java.debug.LineID;
32+
import processing.mode.java.debug.*;
3433

34+
import javax.swing.*;
35+
import java.awt.*;
3536
import java.io.IOException;
3637

3738
// Developed by Manav Jain as part of GSoC 2018
@@ -43,6 +44,7 @@ public class AndroidDebugger extends Debugger {
4344

4445
protected boolean isEnabled;
4546

47+
4648
private String pkgName = "";
4749
private String sketchClassName = "";
4850

@@ -58,6 +60,19 @@ public boolean isEnabled() {
5860

5961
public void toggleDebug() {
6062
isEnabled = !isEnabled;
63+
inspector.setVisible(enabled);
64+
if (isEnabled) {
65+
debugItem.setText(Language.text("menu.debug.disable"));
66+
} else {
67+
debugItem.setText(Language.text("menu.debug.enable"));
68+
}
69+
70+
for (Component item : debugMenu.getMenuComponents()) {
71+
if (item instanceof JMenuItem && item != debugItem) {
72+
item.setEnabled(isEnabled);
73+
}
74+
}
75+
6176
}
6277

6378
@Override
@@ -71,6 +86,8 @@ public synchronized void startDebug(AndroidRunner runner, Device device) {
7186
return; // do nothing
7287
}
7388

89+
inspector.reset();
90+
7491
runtime = runner;
7592
pkgName = runner.build.getPackageName();
7693
sketchClassName = runner.build.getSketchClassName();
@@ -222,10 +239,10 @@ public void run() {
222239
}
223240
}
224241

225-
/*
242+
226243
@Override public synchronized void continueDebug() {
227244
editor.activateContinue();
228-
editor.variableInspector().lock();
245+
inspector.lock();
229246
//editor.clearSelection();
230247
//clearHighlight();
231248
editor.clearCurrentLine();
@@ -237,14 +254,14 @@ public void run() {
237254
editor.statusBusy();
238255
}
239256
}
240-
*/
241257

242-
/*
258+
259+
243260
@Override protected void step(int stepDepth) {
244261
if (!isStarted()) {
245262
startDebug();
246263
} else if (isPaused()) {
247-
editor.variableInspector().lock();
264+
inspector.lock();
248265
editor.activateStep();
249266

250267
// use global to mark that there is a step request pending
@@ -256,11 +273,11 @@ public void run() {
256273
editor.statusBusy();
257274
}
258275
}
259-
*/
260276

261-
/*
277+
278+
262279
@Override public synchronized void stopDebug() {
263-
editor.variableInspector().lock();
280+
inspector.lock();
264281
if (runtime != null) {
265282

266283
for (LineBreakpoint bp : breakpoints) {
@@ -277,13 +294,13 @@ public void run() {
277294
stopTrackingLineChanges();
278295
started = false;
279296

280-
editor.deactivateDebug();
297+
// editor.deactivateDebug();
281298
editor.deactivateContinue();
282299
editor.deactivateStep();
283300

284301
editor.statusEmpty();
285302
}
286-
*/
303+
287304

288305
/**
289306
* Watch all classes ({@value sketchClassName}) variable

mode/src/processing/mode/android/AndroidEditor.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,6 @@ protected AndroidEditor(Base base, String path, EditorState state,
8585
androidMode.resetUserSelection();
8686
androidMode.checkSDK(this);
8787

88-
// initDebugger();
8988

9089
androidTools = loadAndroidTools();
9190
addToolsToMenu();
@@ -174,8 +173,8 @@ public void actionPerformed(ActionEvent e) {
174173
handleStop();
175174
}
176175
});
177-
// return buildSketchMenu(new JMenuItem[] { buildDebugMenu(), runItem, presentItem, stopItem });
178-
return buildSketchMenu(new JMenuItem[] { runItem, presentItem, stopItem });
176+
return buildSketchMenu(new JMenuItem[] { buildDebugMenu(), runItem, presentItem, stopItem });
177+
// return buildSketchMenu(new JMenuItem[] { runItem, presentItem, stopItem });
179178
}
180179

181180

@@ -307,6 +306,7 @@ public void menuCanceled(MenuEvent e) {
307306
}
308307

309308
private JMenu buildDebugMenu() {
309+
initDebugger();
310310
debugMenu = new JMenu(Language.text("menu.debug"));
311311
debugger.populateMenu(debugMenu);
312312
return debugMenu;
@@ -727,9 +727,9 @@ public void actionPerformed(ActionEvent e) {
727727
private void initDebugger() {
728728
debugger = new AndroidDebugger(this, androidMode);
729729
// Set saved breakpoints when sketch is opened for the first time
730-
for (LineID lineID : stripBreakpointComments()) {
731-
debugger.setBreakpoint(lineID);
732-
}
730+
// for (LineID lineID : stripBreakpointComments()) {
731+
// debugger.setBreakpoint(lineID);
732+
// }
733733
super.debugger = debugger;
734734

735735
}

0 commit comments

Comments
 (0)