home *** CD-ROM | disk | FTP | other *** search
- import java.awt.BorderLayout;
- import java.awt.CardLayout;
- import java.awt.Component;
- import java.awt.Container;
- import java.awt.Event;
- import java.awt.Font;
- import java.awt.GridLayout;
- import java.awt.Label;
- import java.awt.Panel;
- import java.awt.TextField;
- import java.util.StringTokenizer;
- import java.util.Vector;
- import sun.tools.debug.RemoteClass;
- import sun.tools.debug.RemoteDebugger;
- import sun.tools.debug.RemoteStackFrame;
- import sun.tools.debug.RemoteStackVariable;
- import sun.tools.debug.RemoteThread;
- import sun.tools.debug.RemoteValue;
-
- public class JDPDebugMgr extends JDPClassLayout implements Runnable {
- JDPUser user;
- JDPJagg jaggSQL;
- JDPPopupMessage popuppanel;
- Panel Main;
- String moduleName;
- String sourceLocation = "";
- Panel Panel3;
- JDPDebuggerCallback JDPDebuggerCallback1;
- RemoteDebugger Debugger1;
- Panel Panel1;
- JDPList sourcePanel;
- Panel Panel2;
- JDPList consolePanel;
- JDPTextGrid watchPanel;
- JDPButtons JDPButtons1;
- JDPButtons JDPButtons2;
- JDPButtons JDPButtons3;
- JDPButtons JDPButtons4;
- TextField searchFor;
- JDPButtons JDPButtons5;
- Panel cardPanel;
- JDPFilePicker filePicker1;
- RemoteThread currentThread;
- Vector breakPoints;
- Vector disabledBreakPoints;
- int lastSourceLine;
- Vector eventVector;
- long lastEventTime;
- boolean stepOutRequested = false;
- String lastClass;
- String lastMethod;
- boolean runToRequested = false;
- int runToLine;
- boolean lastEnableAllAction = true;
-
- public void InitClass(JDPUser var1, Panel var2, String var3) {
- this.user = var1;
- this.breakPoints = new Vector();
- this.disabledBreakPoints = new Vector();
- this.eventVector = new Vector();
- ((Container)this).setLayout(new BorderLayout());
- this.popuppanel = new JDPPopupMessage(var1, this);
- ((Container)this).add(this.popuppanel);
- if ((double)var1.JDesignerPro.versionnum < 2.2) {
- var1.mainmsg.setStatusMsg("This module will only run with JDP 2.2 or greater.", 30);
- } else if (!JDesignerPro.executable) {
- var1.mainmsg.setStatusMsg("This module will not run through a browser. To run it you must run JDP locally.", 30);
- } else if (!System.getProperty("java.vendor").startsWith("Sun")) {
- var1.mainmsg.setStatusMsg("This module will not run unless JDesignerPro is run through the Sun VM.", 30);
- } else {
- this.Main = new Panel();
- this.moduleName = new String();
- this.Panel3 = new Panel();
- this.Panel1 = new Panel();
- this.sourcePanelMain();
- this.Panel2 = new Panel();
- this.consolePanelMain();
- this.watchPanel = new JDPTextGrid(var1);
- String[] var4 = new String[]{"Go", "Restart", "Stop"};
- int[] var5 = new int[]{0, 1, 2};
- this.JDPButtons1 = new JDPButtons(var1, var5, var4, JDPButtons.getAlignmentValue("Horizontal"));
- this.JDPButtons1.setIconImagePath("Images/JDPDEBUG.gif");
- String[] var6 = new String[]{"Insert/Remove Breakpoint", "Remove All Breakpoint", "Disable Breakpoint", "Disable All Breakpoints"};
- int[] var7 = new int[]{3, 4, 5, 6};
- this.JDPButtons2 = new JDPButtons(var1, var7, var6, JDPButtons.getAlignmentValue("Horizontal"));
- this.JDPButtons2.setIconImagePath("Images/JDPDEBUG.gif");
- String[] var8 = new String[]{"Step Into", "Step Over", "Step Out", "Run To"};
- int[] var9 = new int[]{7, 8, 9, 10};
- this.JDPButtons3 = new JDPButtons(var1, var9, var8, JDPButtons.getAlignmentValue("Horizontal"));
- this.JDPButtons3.setIconImagePath("Images/JDPDEBUG.gif");
- String[] var10 = new String[]{"Open Class"};
- int[] var11 = new int[]{1};
- this.JDPButtons4 = new JDPButtons(var1, var11, var10, JDPButtons.getAlignmentValue("Horizontal"));
- this.popuppanel.addComponent(this.JDPButtons1.button[0], "Start/Continue", "Starts or continues the program");
- this.popuppanel.addComponent(this.JDPButtons1.button[1], "Restart", "Restarts the program");
- this.popuppanel.addComponent(this.JDPButtons1.button[2], "Stop", "Stops debugging the program");
- this.popuppanel.addComponent(this.JDPButtons2.button[0], "Insert/Remove Breakpoint", "Inserts or removes a breakpoint");
- this.popuppanel.addComponent(this.JDPButtons2.button[1], "Remove All", "Removes all breakpoints");
- this.popuppanel.addComponent(this.JDPButtons2.button[2], "Enable/Disable breakpoint", "Enables or disables a breakpoint");
- this.popuppanel.addComponent(this.JDPButtons2.button[3], "Enable/Disable All", "Enables or Disables all breakpoints");
- this.popuppanel.addComponent(this.JDPButtons3.button[0], "Step Into", "Steps into the next statement");
- this.popuppanel.addComponent(this.JDPButtons3.button[1], "Step Over", "Steps over the next statement");
- this.popuppanel.addComponent(this.JDPButtons3.button[2], "Step Out", "Steps out of the current function");
- this.popuppanel.addComponent(this.JDPButtons3.button[3], "Run To Line", "Runs the program to the line containing the cursor");
- this.popuppanel.addComponent(this.JDPButtons4.button[0], "Open Java Source", "Opens a Java source file to debug");
- this.searchFor = new TextField("", 20);
- this.popuppanel.addComponent(this.searchFor, "Search", "Search for the text in the currently displayed source");
- String[] var12 = new String[]{"SearchFwd", "SearchBack"};
- int[] var13 = new int[]{48, 49};
- this.JDPButtons5 = new JDPButtons(var1, var13, var12, JDPButtons.getAlignmentValue("Horizontal"));
- this.popuppanel.addComponent(this.JDPButtons5.button[0], "Search Forward", "Search for the text in the currently displayed source");
- this.popuppanel.addComponent(this.JDPButtons5.button[1], "Search Backward", "Search backwards for the text in the currently displayed source");
- this.Main.setLayout(new BorderLayout());
- this.Main.add("East", this.Panel3);
- this.Panel3.setLayout(new BorderLayout());
- this.Main.add("Center", this.Panel1);
- this.Panel1.setLayout(new BorderLayout());
- this.filePicker1 = new JDPFilePicker();
- this.filePicker1.InitClass(var1, this, "");
- this.filePicker1.addFilter("Java Source Files", "*.java");
- this.filePicker1.setMode(0);
- this.filePicker1.setMultipleSelections(false);
- this.filePicker1.loadFiles(var1.JDesignerPro.JDPDirectory + JDesignerPro.serverSeparator + "Applications", false);
- JDPChiselFramePanel var14 = new JDPChiselFramePanel(var1, "Select a Java source to debug", this.filePicker1, "North");
- this.cardPanel = new Panel();
- this.cardPanel.setLayout(new CardLayout());
- this.cardPanel.add("Source", this.sourcePanel);
- this.cardPanel.add("Open", var14);
- this.Panel1.add("Center", this.cardPanel);
- this.Panel1.add("South", this.Panel2);
- this.Panel2.setLayout(new GridLayout(2, 1));
- this.Panel2.add("Center", this.consolePanel);
- this.Panel2.add(this.watchPanel);
- Panel var15 = new Panel();
- ((Container)var15).setLayout(new JDPLineLayout(3));
- ((Container)var15).add("Left", this.JDPButtons1);
- Panel var16 = new Panel();
- ((Container)var16).setLayout(new JDPLineLayout());
- ((Container)var16).add("Left", new Label("Search:", 0));
- ((Container)var16).add("Left", this.searchFor);
- ((Container)var16).add("Left", this.JDPButtons5);
- ((Container)var15).add("Left", var16);
- ((Container)var15).add("Left", this.JDPButtons2);
- ((Container)var15).add("Left", this.JDPButtons3);
- ((Container)var15).add("Left", this.JDPButtons4);
- this.Main.add("North", var15);
- ((Container)this).add("Center", new JDPChiselFramePanel(var1, "Application Debugger", this.Main, "North"));
- this.watchPanel.setRowHeaderOn(false);
- this.watchPanel.setTableDimensions(2, 100);
- this.watchPanel.setColumnHeader(0, "Name");
- this.watchPanel.setColumnHeader(1, "Value");
- this.watchPanel.setColumnWidth(0, 200);
- this.watchPanel.setColumnWidth(1, 1000);
- this.watchPanel.setColumnProtected(0, true);
- this.watchPanel.setColumnProtected(1, true);
- this.watchPanel.setMinimumHeight(120);
- this.watchPanel.setColumnHeaderHeight(10);
- this.watchPanel.newTable();
- ((Container)var2).layout();
- ((Component)var2).paintAll(((Component)var2).getGraphics());
- this.InitComponents();
- var1.gParm.addElement(this);
- }
- }
-
- public boolean handleEvent(Event var1) {
- switch (var1.id) {
- case 202:
- if (var1.target instanceof JDPTabSelectPanel) {
- this.retrieveHandle();
- return true;
- }
-
- return false;
- case 503:
- case 504:
- case 505:
- this.popuppanel.postEvent(var1);
- return false;
- case 1001:
- this.eventVector.addElement(var1);
- Thread var2 = new Thread(this);
- var2.start();
- return true;
- case 1004:
- if (var1.target.equals(this.Main)) {
- this.retrieveHandle();
- return true;
- }
-
- return false;
- default:
- return false;
- }
- }
-
- public void InitComponents() {
- this.retrieveHandle();
- }
-
- public void run() {
- Event var1 = (Event)this.eventVector.elementAt(0);
- this.lastEventTime = var1.when;
- this.eventVector.removeElementAt(0);
- if (var1.target.equals(this.JDPButtons1.button[0].Button)) {
- if (this.Debugger1 == null) {
- this.clearConsole();
- this.clearWatchPanel();
- this.startRemoteProcess();
- this.restoreBreakPoints();
- } else if (this.currentThread != null) {
- try {
- this.currentThread.resume();
- this.Debugger1.cont();
- this.addConsole("Continuing...");
- this.currentThread = null;
- this.sourcePanel.resetSelections();
- } catch (Exception var7) {
- this.user.mainmsg.setStatusMsg("Could not continue.", 10);
- ((Throwable)var7).printStackTrace();
- }
- } else {
- this.user.mainmsg.setStatusMsg("No thread is currently suspended.", 10);
- }
- } else if (var1.target.equals(this.JDPButtons1.button[1].Button)) {
- Vector var19 = this.breakPoints;
- Vector var22 = this.disabledBreakPoints;
- this.stopRemoteProcess();
- this.clearConsole();
- this.clearWatchPanel();
- this.startRemoteProcess();
- this.breakPoints = var19;
- this.disabledBreakPoints = var22;
- this.restoreBreakPoints();
- } else if (var1.target.equals(this.JDPButtons1.button[2].Button)) {
- this.stopRemoteProcess();
- } else if (var1.target.equals(this.JDPButtons2.button[0].Button)) {
- int var18 = this.sourcePanel.getSelectedIndex() + 1;
- if (var18 > 0) {
- try {
- RemoteClass var21 = null;
- int[] var24 = null;
- if (this.Debugger1 != null) {
- var21 = this.Debugger1.findClass(this.moduleName);
- var24 = ((RemoteClass)var21).getLineNumbers();
- }
-
- for(int var26 = 0; var26 < this.breakPoints.size(); ++var26) {
- if (var18 == this.getBreakPointLine(this.breakPoints.elementAt(var26))) {
- this.breakPoints.removeElementAt(var26);
- if (var21 != null) {
- ((RemoteClass)var21).clearBreakpointLine(var18);
- }
-
- this.sourcePanel.setIcon(var18, 0);
- this.user.mainmsg.setStatusMsg("Breakpoint removed.", 4);
- return;
- }
- }
-
- if (var24 == null) {
- this.sourcePanel.setIcon(var18, 1);
- this.user.mainmsg.setStatusMsg("Breakpoint set at " + this.moduleName + ":" + Integer.toString(var18) + ".", 4);
- this.breakPoints.addElement(this.moduleName + ":" + Integer.toString(var18));
- } else {
- for(int var6 = 0; var6 < var24.length; ++var6) {
- if (var18 == var24[var6]) {
- if (var21 != null) {
- ((RemoteClass)var21).setBreakpointLine(var18);
- }
-
- this.sourcePanel.setIcon(var18, 1);
- this.user.mainmsg.setStatusMsg("Breakpoint set at " + this.moduleName + ":" + Integer.toString(var18) + ".", 4);
- this.breakPoints.addElement(this.moduleName + ":" + Integer.toString(var18));
- return;
- }
- }
-
- this.user.mainmsg.setStatusMsg("Not a valid breakpoint position.", 5);
- }
- } catch (Exception var13) {
- this.user.mainmsg.setStatusMsg("Breakpoint could not be set/removed from requested position.", 7);
- }
- } else {
- this.user.mainmsg.setStatusMsg("You must first select a source line before you can set or remove a breakpoint.", 7);
- }
- } else if (var1.target.equals(this.JDPButtons2.button[1].Button)) {
- this.clearAllBreakPoints(false);
- } else if (var1.target.equals(this.JDPButtons2.button[2].Button)) {
- int var17 = this.sourcePanel.getSelectedIndex() + 1;
- if (var17 > 0) {
- try {
- RemoteClass var20 = null;
- if (this.Debugger1 != null) {
- var20 = this.Debugger1.findClass(this.moduleName);
- }
-
- for(int var23 = 0; var23 < this.breakPoints.size(); ++var23) {
- if (var17 == this.getBreakPointLine(this.breakPoints.elementAt(var23))) {
- this.breakPoints.removeElementAt(var23);
- this.disabledBreakPoints.addElement(this.moduleName + ":" + Integer.toString(var17));
- if (var20 != null) {
- ((RemoteClass)var20).clearBreakpointLine(var17);
- }
-
- this.sourcePanel.setIcon(var17, 2);
- this.user.mainmsg.setStatusMsg("Breakpoint disabled.", 4);
- return;
- }
- }
-
- for(int var25 = 0; var25 < this.disabledBreakPoints.size(); ++var25) {
- if (var17 == this.getBreakPointLine(this.disabledBreakPoints.elementAt(var25))) {
- this.disabledBreakPoints.removeElementAt(var25);
-
- try {
- if (var20 != null) {
- ((RemoteClass)var20).setBreakpointLine(var17);
- }
-
- this.sourcePanel.setIcon(var17, 1);
- this.user.mainmsg.setStatusMsg("Breakpoint enabled at " + this.moduleName + ":" + Integer.toString(var17) + ".", 4);
- this.breakPoints.addElement(this.moduleName + ":" + Integer.toString(var17));
- return;
- } catch (Exception var8) {
- this.user.mainmsg.setStatusMsg("Invalid breakpoint.", 4);
- return;
- }
- }
- }
-
- } catch (Exception var14) {
- this.user.mainmsg.setStatusMsg("Breakpoint could not be enabled/disabled.", 7);
- }
- } else {
- this.user.mainmsg.setStatusMsg("You must first select a source line before you can enable or disable a breakpoint.", 7);
- }
- } else if (var1.target.equals(this.JDPButtons2.button[3].Button)) {
- this.disableAllBreakPoints();
- if (this.lastEnableAllAction) {
- this.user.mainmsg.setStatusMsg("All breakpoints disabled.", 5);
- this.lastEnableAllAction = false;
- } else {
- this.user.mainmsg.setStatusMsg("All breakpoints enabled.", 5);
- this.lastEnableAllAction = true;
- }
- } else {
- if (var1.target.equals(this.JDPButtons3.button[0].Button) && this.currentThread != null) {
- try {
- this.currentThread.step(true);
- } catch (Exception var12) {
- ((Throwable)var12).printStackTrace();
- }
- }
-
- if (var1.target.equals(this.JDPButtons3.button[1].Button)) {
- if (this.currentThread != null) {
- try {
- this.currentThread.next();
- } catch (Exception var9) {
- ((Throwable)var9).printStackTrace();
- }
- }
- } else if (var1.target.equals(this.JDPButtons3.button[2].Button)) {
- if (this.currentThread != null) {
- this.stepOutRequested = true;
- this.user.mainmsg.setStatusMsg("Stepping out...", 0);
-
- try {
- this.currentThread.next();
- } catch (Exception var10) {
- ((Throwable)var10).printStackTrace();
- }
- }
- } else if (!var1.target.equals(this.JDPButtons3.button[3].Button)) {
- if (var1.target.equals(this.JDPButtons4.button[0].Button)) {
- ((CardLayout)this.cardPanel.getLayout()).show(this.cardPanel, "Open");
- } else if (var1.target.equals(this.searchFor)) {
- this.searchForText(this.searchFor.getText(), true);
- } else if (var1.target.equals(this.JDPButtons5.button[0])) {
- this.searchForText(this.searchFor.getText(), true);
- } else if (var1.target.equals(this.JDPButtons5.button[1])) {
- this.searchForText(this.searchFor.getText(), false);
- } else if (var1.target.equals(this.filePicker1)) {
- String var16 = (String)var1.arg;
- if (!var16.equals("Cancel")) {
- this.stopRemoteProcess();
- this.clearConsole();
- this.clearWatchPanel();
- this.moduleName = this.filePicker1.getSelectedFile();
- this.moduleName = this.moduleName.substring(0, this.moduleName.indexOf("."));
- this.addConsole(this.moduleName + " loaded.");
- this.loadSource(this.filePicker1.getSelectedFullPath());
- }
-
- ((CardLayout)this.cardPanel.getLayout()).show(this.cardPanel, "Source");
- }
- } else {
- int var2 = this.sourcePanel.getSelectedIndex() + 1;
- if (var2 > 0) {
- try {
- RemoteClass var3 = this.Debugger1.findClass(this.moduleName);
- int[] var4 = ((RemoteClass)var3).getLineNumbers();
- if (var4 != null) {
- for(int var5 = 0; var5 < var4.length; ++var5) {
- if (var2 == var4[var5]) {
- ((RemoteClass)var3).setBreakpointLine(var2);
- this.runToRequested = true;
- this.runToLine = var2;
-
- try {
- this.currentThread.resume();
- this.Debugger1.cont();
- this.addConsole("Continuing...");
- this.currentThread = null;
- this.sourcePanel.resetSelections();
- return;
- } catch (Exception var11) {
- this.user.mainmsg.setStatusMsg("Could not continue.", 10);
- ((Throwable)var11).printStackTrace();
- return;
- }
- }
- }
-
- return;
- }
- } catch (Exception var15) {
- this.user.mainmsg.setStatusMsg("Line requested is not a valid line to run to.", 7);
- return;
- }
- } else {
- this.user.mainmsg.setStatusMsg("You must first select a line to run to.", 7);
- }
-
- }
- }
- }
-
- void startRemoteProcess() {
- String var1 = "JDesignerPro " + this.user.getWWWroot() + " " + this.user.getJDPSystem() + " " + this.user.cust.getUsername() + " ";
- if (this.user.cust.password.equals("")) {
- var1 = var1 + "a ";
- } else {
- var1 = var1 + this.user.cust.password + " ";
- }
-
- var1 = var1 + this.moduleName;
- this.addConsole("Starting " + this.moduleName + "...");
- this.JDPDebuggerCallback1 = new JDPDebuggerCallback(this);
-
- try {
- this.Debugger1 = new RemoteDebugger(var1, this.JDPDebuggerCallback1, false);
- } catch (Exception var3) {
- this.user.mainmsg.setStatusMsg("Failed to load requested class.", 10);
- ((Throwable)var3).printStackTrace();
- }
- }
-
- void retrieveHandle() {
- for(int var1 = 0; var1 < this.user.gParm.size(); ++var1) {
- if (this.user.gParm.elementAt(var1) instanceof JDPLayoutMgr) {
- JDPLayoutMgr var2 = (JDPLayoutMgr)this.user.gParm.elementAt(var1);
- if (this.moduleName.equals("") || !this.moduleName.equals(var2.lastBuiltAppName)) {
- this.stopRemoteProcess();
- this.clearConsole();
- this.clearWatchPanel();
- this.moduleName = var2.lastBuiltAppName;
- if (!this.moduleName.equals("")) {
- this.addConsole(this.moduleName + " loaded.");
- this.sourceLocation = var2.filePicker2.getSelectedFullPath();
- if (this.sourceLocation.indexOf(this.moduleName) < 0) {
- this.sourceLocation = var2.filePicker1.getSelectedFullPath();
- }
-
- if (this.sourceLocation.indexOf(this.moduleName) >= 0) {
- this.sourceLocation = this.sourceLocation.substring(0, this.sourceLocation.length() - 4) + ".java";
- this.loadSource(this.sourceLocation);
- return;
- }
-
- this.sourceLocation = this.user.JDesignerPro.JDPDirectory + JDesignerPro.serverSeparator + "Temp" + JDesignerPro.serverSeparator + this.moduleName + ".java";
- this.loadSource(this.sourceLocation);
- }
- }
-
- return;
- }
- }
-
- }
-
- public void breakpointEvent(RemoteThread var1) {
- try {
- RemoteStackFrame[] var2 = var1.dumpStack();
- if (this.stepOutRequested) {
- if (this.lastClass == null || this.lastMethod == null || var2[0].getRemoteClass().getName().equals(this.lastClass) && var2[0].getMethodName().equals(this.lastMethod)) {
- this.lastClass = var2[0].getRemoteClass().getName();
- this.lastMethod = var2[0].getMethodName();
-
- try {
- var1.next();
- return;
- } catch (Exception var4) {
- ((Throwable)var4).printStackTrace();
- return;
- }
- }
-
- this.user.mainmsg.clearStatusMsg();
- }
-
- if (this.runToRequested) {
- try {
- RemoteClass var3 = this.Debugger1.findClass(this.moduleName);
- ((RemoteClass)var3).clearBreakpointLine(this.runToLine);
- } catch (Exception var5) {
- }
- }
-
- this.lastClass = var2[0].getRemoteClass().getName();
- this.lastMethod = var2[0].getMethodName();
- this.stepOutRequested = false;
- this.runToRequested = false;
- if (var2.length > 0) {
- this.currentThread = var1;
- int var7 = var2[0].getLineNumber();
- this.addConsole("Breakpoint reached at " + var2[0].getRemoteClass().getName() + ":" + var2[0].getMethodName() + ":" + Integer.toString(var7));
- if (var2[0].getRemoteClass().getName().equals(this.moduleName)) {
- this.positionSourcePointer(var7);
- }
-
- this.loadStackVariables(var1);
- } else {
- this.addConsole("Invalid thread specified in breakpoint.");
- }
- } catch (Exception var6) {
- ((Throwable)var6).printStackTrace();
- }
- }
-
- public void printToConsole(String var1) {
- this.addConsoleVerbatim(var1);
- }
-
- public void exceptionEvent(RemoteThread var1, String var2) {
- this.addConsole("exception caught");
- StringTokenizer var3 = new StringTokenizer(var2, "\r\n");
-
- while(var3.hasMoreTokens()) {
- this.addConsole(this.user.u.replace(var3.nextToken(), "\t", " "));
- }
-
- var1.setCurrentFrameIndex(0);
- this.currentThread = var1;
- }
-
- public void threadDeathEvent(RemoteThread var1) {
- this.addConsole("thread death event");
-
- try {
- this.addConsole(var1.getName() + " died.");
- } catch (Exception var2) {
- }
-
- if (var1 == this.currentThread) {
- this.currentThread = null;
- }
-
- }
-
- public void quitEvent() {
- this.stopRemoteProcess();
- }
-
- public boolean shutDown() {
- this.stopRemoteProcess();
- return true;
- }
-
- public void stopRemoteProcess() {
- if (this.Debugger1 != null) {
- this.clearAllBreakPoints(true);
- if (this.currentThread != null) {
- try {
- this.Debugger1.cont();
- Thread.sleep(2000L);
- this.currentThread.stop();
- } catch (Exception var1) {
- }
- }
-
- if (this.Debugger1 != null) {
- this.Debugger1.close();
- }
-
- this.Debugger1 = null;
- this.addConsole(this.moduleName + " stopped.");
- this.user.JDesignerPro.gc();
- }
- }
-
- public void clearAllBreakPoints(boolean var1) {
- try {
- for(int var2 = 0; var2 < this.breakPoints.size(); ++var2) {
- String var3 = this.getBreakPointModule(this.breakPoints.elementAt(var2));
- int var4 = this.getBreakPointLine(this.breakPoints.elementAt(var2));
-
- try {
- if (var3.equals(this.moduleName) && !var1) {
- this.sourcePanel.setIcon(var4, 0);
- }
-
- RemoteClass var5 = this.Debugger1.findClass(var3);
- ((RemoteClass)var5).clearBreakpointLine(var4);
- } catch (Exception var6) {
- }
- }
- } catch (Exception var7) {
- ((Throwable)var7).printStackTrace();
- }
-
- if (!var1) {
- this.breakPoints = new Vector();
-
- for(int var8 = 0; var8 < this.disabledBreakPoints.size(); ++var8) {
- String var9 = this.getBreakPointModule(this.disabledBreakPoints.elementAt(var8));
- int var10 = this.getBreakPointLine(this.disabledBreakPoints.elementAt(var8));
- if (var9.equals(this.moduleName)) {
- this.sourcePanel.setIcon(var10, 0);
- }
- }
-
- this.disabledBreakPoints = new Vector();
- this.user.mainmsg.setStatusMsg("All breakpoints removed.", 5);
- }
-
- }
-
- public void disableAllBreakPoints() {
- try {
- if (this.lastEnableAllAction) {
- for(int var8 = 0; var8 < this.breakPoints.size(); ++var8) {
- String var9 = this.getBreakPointModule(this.breakPoints.elementAt(var8));
- int var10 = this.getBreakPointLine(this.breakPoints.elementAt(var8));
-
- try {
- if (var9.equals(this.moduleName)) {
- this.sourcePanel.setIcon(var10, 2);
- }
-
- this.disabledBreakPoints.addElement(var9 + ":" + Integer.toString(var10));
- RemoteClass var11 = this.Debugger1.findClass(var9);
- ((RemoteClass)var11).clearBreakpointLine(var10);
- } catch (Exception var5) {
- }
- }
-
- this.breakPoints = new Vector();
- } else {
- for(int var1 = 0; var1 < this.disabledBreakPoints.size(); ++var1) {
- String var2 = this.getBreakPointModule(this.disabledBreakPoints.elementAt(var1));
- int var3 = this.getBreakPointLine(this.disabledBreakPoints.elementAt(var1));
-
- try {
- if (var2.equals(this.moduleName)) {
- this.sourcePanel.setIcon(var3, 1);
- }
-
- this.breakPoints.addElement(var2 + ":" + Integer.toString(var3));
- RemoteClass var4 = this.Debugger1.findClass(var2);
- ((RemoteClass)var4).setBreakpointLine(var3);
- } catch (Exception var6) {
- }
- }
-
- this.disabledBreakPoints = new Vector();
- }
- } catch (Exception var7) {
- ((Throwable)var7).printStackTrace();
- }
- }
-
- public void restoreBreakPoints() {
- boolean var1 = true;
- int var2 = 0;
-
- while(var1 && var2++ < 4) {
- try {
- for(int var3 = 0; var3 < this.breakPoints.size(); ++var3) {
- String var4 = this.getBreakPointModule(this.breakPoints.elementAt(var3));
- int var5 = this.getBreakPointLine(this.breakPoints.elementAt(var3));
- RemoteClass var6 = this.Debugger1.findClass(var4);
-
- try {
- ((RemoteClass)var6).setBreakpointLine(var5);
- if (var4.equals(this.moduleName)) {
- this.sourcePanel.setIcon(var5, 1);
- }
- } catch (Exception var8) {
- this.breakPoints.removeElementAt(var3);
- --var3;
- }
- }
-
- var1 = false;
- } catch (Exception var9) {
- try {
- Thread.sleep(3000L);
- } catch (Exception var7) {
- }
- }
- }
-
- if (this.breakPoints.size() > 0) {
- this.user.mainmsg.setStatusMsg("Breakpoints restored.", 4);
- }
-
- if (var1) {
- this.user.mainmsg.setStatusMsg("Failed to restore breakpoints.", 7);
- } else {
- for(int var10 = 0; var10 < this.disabledBreakPoints.size(); ++var10) {
- String var11 = this.getBreakPointModule(this.disabledBreakPoints.elementAt(var10));
- int var12 = this.getBreakPointLine(this.disabledBreakPoints.elementAt(var10));
- if (var11.equals(this.moduleName)) {
- this.sourcePanel.setIcon(var12, 2);
- }
- }
-
- }
- }
-
- public String getBreakPointModule(Object var1) {
- String var2 = (String)var1;
- var2 = var2.substring(0, var2.indexOf(":"));
- return var2;
- }
-
- public int getBreakPointLine(Object var1) {
- String var2 = (String)var1;
- var2 = var2.substring(var2.indexOf(":") + 1);
- return Integer.parseInt(var2);
- }
-
- public void positionSourcePointer(int var1) {
- this.sourcePanel.resetSelections();
- this.sourcePanel.select(var1 - 1);
- this.sourcePanel.makeVisible(var1 - 1);
- }
-
- public void loadStackVariables(RemoteThread var1) {
- int var2 = this.watchPanel.yOffset;
- byte var3 = 0;
- if (this.watchPanel.scrollEast != null) {
- this.watchPanel.scrollEast.getValue();
- }
-
- this.clearWatchPanel();
-
- try {
- Object var4 = null;
- RemoteStackVariable[] var5 = var1.getStackVariables();
-
- for(int var6 = var5.length - 1; var6 >= 0; --var6) {
- if (var5[var6] != null) {
- RemoteValue var8 = var5[var6].getValue();
- this.addWatchPanel(var5[var6].getName(), var8 == null ? "null" : var8.toString());
- }
- }
-
- if (var5.length == 0) {
- this.addWatchPanel("", "No local variables exist. Class may not have been compiled with the -g option");
- }
-
- this.watchPanel.yOffset = var2;
- if (this.watchPanel.scrollEast != null) {
- this.watchPanel.scrollEast.setValue(var3);
- }
-
- this.watchPanel.reDraw();
- } catch (Exception var7) {
- ((Throwable)var7).printStackTrace();
- }
- }
-
- public void sourcePanelMain() {
- if (this.sourcePanel == null) {
- this.sourcePanel = new JDPList(this.user);
- this.sourcePanel.setIconImagePath("Images/JDPDBSRC.gif");
- this.sourcePanel.setFont(new Font("Courier", 0, 12));
- }
-
- }
-
- public void consolePanelMain() {
- if (this.consolePanel == null) {
- this.consolePanel = new JDPList(this.user);
- }
-
- }
-
- public void addConsole(String var1) {
- this.consolePanel.addItem(var1);
- this.consolePanel.resetSelections();
- this.consolePanel.select(this.consolePanel.countItems() - 1);
- this.consolePanel.makeVisible(this.consolePanel.countItems() - 1);
- }
-
- public void clearConsole() {
- this.consolePanel.clear();
- }
-
- public void addConsoleVerbatim(String var1) {
- this.consolePanel.addItem(var1);
- this.consolePanel.select(this.consolePanel.countItems() - 1);
- this.consolePanel.makeVisible(this.consolePanel.countItems() - 1);
- }
-
- public void addWatchPanel(String var1, String var2) {
- for(int var3 = 0; var3 < this.watchPanel.getTableRows(); ++var3) {
- if (this.watchPanel.getText(0, var3) == null || this.watchPanel.getText(0, var3).equals("")) {
- this.watchPanel.setText(var1, 0, var3);
- this.watchPanel.setText(var2, 1, var3);
- this.watchPanel.reDraw();
- return;
- }
- }
-
- }
-
- public void clearWatchPanel() {
- this.watchPanel.currentText = new String[this.watchPanel.getTableColumns()][this.watchPanel.getTableRows()];
- this.watchPanel.newTable();
- }
-
- public void loadSource(String var1) {
- this.user.mainmsg.setStatusMsg("Loading source file...", 0);
- String var2 = this.user.u.readFromFile(var1);
- this.sourcePanel.clear();
- if (var2 != null) {
- String var4 = "";
- String var5 = "";
- int var6 = 1;
- var2 = this.user.u.replace(var2, "\r\n", "\n");
-
- String var3;
- for(StringTokenizer var7 = new StringTokenizer(var2, "\n", true); var7.hasMoreTokens(); var4 = var3) {
- var3 = var7.nextToken();
- if (var3.equals("\n") && var4.equals("\n")) {
- var5 = this.user.u.str((float)(var6++), 5, 0);
- this.sourcePanel.addItem(var5 + " ", 11);
- } else if (!var3.equals("\r") && !var3.equals("\n")) {
- var5 = this.user.u.str((float)(var6++), 5, 0);
- this.sourcePanel.addItem(var5 + " " + this.user.u.replace(var3, "\t", " "), 11);
- }
- }
-
- this.sourcePanel.reDraw();
- }
- }
-
- public void searchForText(String var1, boolean var2) {
- if (var2) {
- for(int var4 = this.lastSourceLine; var4 < this.sourcePanel.countItems(); ++var4) {
- if (this.sourcePanel.getItem(var4).indexOf(var1) >= 0) {
- this.sourcePanel.select(var4);
- this.sourcePanel.makeVisible(var4);
- this.lastSourceLine = var4 + 1;
- return;
- }
- }
-
- this.user.mainmsg.setStatusMsg("Search string not found", 5);
- this.lastSourceLine = 0;
- } else {
- for(int var3 = this.lastSourceLine - 1; var3 >= 0; --var3) {
- if (this.sourcePanel.getItem(var3).indexOf(var1) >= 0) {
- this.sourcePanel.select(var3);
- this.sourcePanel.makeVisible(var3);
- this.lastSourceLine = var3;
- return;
- }
- }
-
- this.user.mainmsg.setStatusMsg("Search string not found", 5);
- this.lastSourceLine = this.sourcePanel.countItems();
- }
- }
- }
-