예제 #1
0
 public void run(PrintStream out, Debugger dbg) {
   CDebugger cdbg = dbg.getCDebugger();
   if (cdbg != null) {
     List l = cdbg.getLoadObjectList();
     for (Iterator itr = l.iterator(); itr.hasNext(); ) {
       LoadObject lo = (LoadObject) itr.next();
       out.print(lo.getBase() + "\t");
       out.print(lo.getSize() / 1024 + "K\t");
       out.println(lo.getName());
     }
   } else {
     if (getDebugeeType() == DEBUGEE_REMOTE) {
       out.println("remote configuration is not yet implemented");
     } else {
       out.println("not yet implemented (debugger does not support CDebugger)!");
     }
   }
 }
 public void printOn(PrintStream tty) {
   String desc = getDescription();
   if (desc != null) {
     tty.print(desc);
   }
   // FIXME: add printing of bytecode
   tty.println(
       " ["
           + codeBegin()
           + ", "
           + codeEnd()
           + ")  "
           + codeSize()
           + " bytes  "
           + (isSafepointSafe() ? "" : "not ")
           + "safepoint safe");
   // FIXME: add disassembly
 }
예제 #3
0
 public void printValueOn(PrintStream tty) {
   tty.print("ConstantPoolCache for " + getConstants().getPoolHolder().getName().asString());
 }
예제 #4
0
 public void printValueOn(PrintStream tty) {
   tty.print("ArrayKlass");
 }
예제 #5
0
  public void printOn(PrintStream tty) {
    tty.print("Value " + value + ", ");
    if (isIllegal()) {
      tty.print("Illegal");
    } else {
      Where w = getWhere();
      if (w == Where.ON_STACK) {
        tty.print("stack[" + getStackOffset() + "]");
      } else if (w == Where.IN_REGISTER) {
        tty.print("reg " + getRegisterNumber());
      }

      Type type = getType();
      if (type == Type.NORMAL) {
      } else if (type == Type.OOP) {
        tty.print(",oop");
      } else if (type == Type.NARROWOOP) {
        tty.print(",narrowoop");
      } else if (type == Type.INT_IN_LONG) {
        tty.print(",int");
      } else if (type == Type.LNG) {
        tty.print(",long");
      } else if (type == Type.FLOAT_IN_DBL) {
        tty.print(",float");
      } else if (type == Type.DBL) {
        tty.print(",double");
      } else if (type == Type.ADDR) {
        tty.print(",address");
      } else if (type == Type.INVALID) {
        tty.print(",invalid");
      }
    }
  }
예제 #6
0
 public void printInfoOn(Address threadAddr, PrintStream tty) {
   tty.print("Thread id: ");
   printThreadIDOn(threadAddr, tty);
   //    tty.println("\nPostJavaState: " + getPostJavaState(threadAddr));
 }
예제 #7
0
 public void printThreadIDOn(Address addr, PrintStream tty) {
   tty.print(getThreadProxy(addr));
 }
 public void printValueOn(PrintStream tty) {
   TypeArrayKlass klass = (TypeArrayKlass) getKlass();
   tty.print(klass.getTypeName());
 }
예제 #9
0
 public void printValueOn(PrintStream tty) {
   tty.print("InstanceKlass for " + getName().asString());
 }
예제 #10
0
 public void printValueOn(PrintStream tty) {
   tty.print("Method " + getName().asString() + getSignature().asString() + "@" + getHandle());
 }
예제 #11
0
 public void printValueOn(PrintStream tty) {
   tty.print("TypeArrayKlass for " + getTypeName());
 }
예제 #12
0
 public void printValueOn(PrintStream tty) {
   tty.print("ObjArrayKlass for ");
   getElementKlass().printValueOn(tty);
 }