• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

Java JdwpException类的典型用法和代码示例

java 3次浏览

本文整理汇总了Java中gnu.classpath.jdwp.exception.JdwpException的典型用法代码示例。如果您正苦于以下问题:Java JdwpException类的具体用法?Java JdwpException怎么用?Java JdwpException使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。

JdwpException类属于gnu.classpath.jdwp.exception包,在下文中一共展示了JdwpException类的40个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: requestEvent

点赞 3

import gnu.classpath.jdwp.exception.JdwpException; //导入依赖的package包/类
/**
 * Requests monitoring of an event.
 *
 * The debugger registers for event notification through
 * an event filter. If no event filter is specified for an event
 * in the VM, it is assumed that the debugger is not interested in
 * receiving notifications of this event.
 *
 * The virtual machine will be notified of the request.
 *
 * @param request  the request to monitor
 * @throws InvalidEventTypeException for invalid event kind
 * @throws JdwpException for other errors involving request
 */
public void requestEvent (EventRequest request)
  throws JdwpException
{
  // Add request to request list
  Hashtable requests;
  Byte kind = new Byte (request.getEventKind ());
  requests = (Hashtable) _requests.get (kind);
  if (requests == null)
    {
      // Did not get a valid event type
      throw new InvalidEventTypeException (request.getEventKind ());
    }

  // Register the event with the VM
  VMVirtualMachine.registerEvent (request);
  requests.put (new Integer (request.getId ()), request);
}
 

开发者ID:vilie,
项目名称:javify,
代码行数:32,
代码来源:EventManager.java

示例2: deleteRequest

点赞 3

import gnu.classpath.jdwp.exception.JdwpException; //导入依赖的package包/类
/**
 * Deletes the given request from the management table
 *
 * @param  kind  the event kind
 * @param  id    the ID of the request to delete
 * @throws IllegalArgumentException for invalid event kind
 * @throws JdwpException for other errors deleting request
 */
public void deleteRequest (byte kind, int id)
  throws JdwpException
{
  Hashtable requests;
  requests = (Hashtable) _requests.get (new Byte (kind));
  if (requests == null)
    {
      // Did not get a valid event type
      throw new IllegalArgumentException ("invalid event kind: " + kind);
    }

  Integer iid = new Integer (id);
  EventRequest request = (EventRequest) requests.get (iid);
  if (request != null)
    {
      VMVirtualMachine.unregisterEvent (request);
      requests.remove (iid);
    }
}
 

开发者ID:vilie,
项目名称:javify,
代码行数:28,
代码来源:EventManager.java

示例3: executeFrames

点赞 3

import gnu.classpath.jdwp.exception.JdwpException; //导入依赖的package包/类
private void executeFrames(ByteBuffer bb, DataOutputStream os)
    throws JdwpException, IOException
{
  ThreadId tid = (ThreadId) idMan.readObjectId(bb);
  Thread thread = tid.getThread();
  int startFrame = bb.getInt();
  int length = bb.getInt();

  ArrayList frames = VMVirtualMachine.getFrames(thread, startFrame, length);
  os.writeInt(frames.size());
  for (int i = 0; i < frames.size(); i++)
    {
      VMFrame frame = (VMFrame) frames.get(i);
      os.writeLong(frame.getId());
      Location loc = frame.getLocation();
      loc.write(os);
    }
}
 

开发者ID:vilie,
项目名称:javify,
代码行数:19,
代码来源:ThreadReferenceCommandSet.java

示例4: executeOwnedMonitors

点赞 3

import gnu.classpath.jdwp.exception.JdwpException; //导入依赖的package包/类
private void executeOwnedMonitors(ByteBuffer bb, DataOutputStream os)
  throws JdwpException, IOException
{
  if (!VMVirtualMachine.canGetOwnedMonitorInfo)
    {
      String msg = "getting owned monitors is not supported";
      throw new NotImplementedException(msg);
    }

  ThreadId tid = (ThreadId) idMan.readObjectId(bb);
  Thread thread = tid.getThread();
  Object[] monitors = VMVirtualMachine.getOwnedMonitors(thread);

  os.write(monitors.length);
  for (int i = 0; i < monitors.length; ++i)
    {
      ObjectId id = idMan.getObjectId(monitors[i]);
      id.writeTagged(os);
    }
}
 

开发者ID:vilie,
项目名称:javify,
代码行数:21,
代码来源:ThreadReferenceCommandSet.java

示例5: executeCurrentContendedMonitor

点赞 3

import gnu.classpath.jdwp.exception.JdwpException; //导入依赖的package包/类
private void executeCurrentContendedMonitor(ByteBuffer bb,
                                            DataOutputStream os)
  throws JdwpException, IOException
{
  if (!VMVirtualMachine.canGetCurrentContendedMonitor)
    {
      String msg = "getting current contended monitor is not supported";
      throw new NotImplementedException(msg);
    }

  ThreadId tid = (ThreadId) idMan.readObjectId(bb);
  Thread thread = tid.getThread();

  Object monitor = VMVirtualMachine.getCurrentContendedMonitor(thread);
  ObjectId id = idMan.getObjectId(monitor);
  id.writeTagged(os);
}
 

开发者ID:vilie,
项目名称:javify,
代码行数:18,
代码来源:ThreadReferenceCommandSet.java

示例6: executeMethods

点赞 3

import gnu.classpath.jdwp.exception.JdwpException; //导入依赖的package包/类
private void executeMethods(ByteBuffer bb, DataOutputStream os)
  throws JdwpException, IOException
{
  ReferenceTypeId refId = idMan.readReferenceTypeId(bb);
  Class clazz = refId.getType();

  VMMethod[] methods = VMVirtualMachine.getAllClassMethods(clazz);
  os.writeInt (methods.length);
  for (int i = 0; i < methods.length; i++)
    {
      VMMethod method = methods[i];
      method.writeId(os);
      JdwpString.writeString(os, method.getName());
      JdwpString.writeString(os, method.getSignature());
      os.writeInt(method.getModifiers());
    }
}
 

开发者ID:vilie,
项目名称:javify,
代码行数:18,
代码来源:ReferenceTypeCommandSet.java

示例7: executeNewInstance

点赞 3

import gnu.classpath.jdwp.exception.JdwpException; //导入依赖的package包/类
private void executeNewInstance(ByteBuffer bb, DataOutputStream os)
    throws JdwpException, IOException
{
  MethodResult mr = invokeMethod(bb);
  Throwable exception = mr.getThrownException();

  if (exception == null && ! (mr.getReturnedValue() instanceof ObjectValue))
    throw new JdwpInternalErrorException("new instance returned non-object");

  ObjectValue ov = (ObjectValue) mr.getReturnedValue();
  ObjectId oId = idMan.getObjectId(ov.getValue());

  ObjectId eId = idMan.getObjectId(exception);

  oId.writeTagged(os);
  eId.writeTagged(os);
}
 

开发者ID:vilie,
项目名称:javify,
代码行数:18,
代码来源:ClassTypeCommandSet.java

示例8: invokeMethod

点赞 3

import gnu.classpath.jdwp.exception.JdwpException; //导入依赖的package包/类
/**
 * Execute the static method and return the resulting MethodResult.
 */
private MethodResult invokeMethod(ByteBuffer bb)
  throws JdwpException, IOException
{
  ReferenceTypeId refId = idMan.readReferenceTypeId(bb);
  Class clazz = refId.getType();

  ObjectId tId = idMan.readObjectId(bb);
  Thread thread = (Thread) tId.getObject();

  VMMethod method = VMMethod.readId(clazz, bb);

  int args = bb.getInt();
  Value[] values = new Value[args];

  for (int i = 0; i < args; i++)
    values[i] = ValueFactory.createFromTagged(bb);

  int invokeOpts = bb.getInt();
  MethodResult mr = VMVirtualMachine.executeMethod(null, thread,
                                                   clazz, method,
                                                   values, invokeOpts);
  return mr;
}
 

开发者ID:vilie,
项目名称:javify,
代码行数:27,
代码来源:ClassTypeCommandSet.java

示例9: _enforceSuspendPolicy

点赞 3

import gnu.classpath.jdwp.exception.JdwpException; //导入依赖的package包/类
private void _enforceSuspendPolicy (byte suspendPolicy)
  throws JdwpException
{
  switch (suspendPolicy)
    {
    case EventRequest.SUSPEND_NONE:
      // do nothing
      break;

    case EventRequest.SUSPEND_THREAD:
      VMVirtualMachine.suspendThread (Thread.currentThread ());
      break;

    case EventRequest.SUSPEND_ALL:
      VMVirtualMachine.suspendAllThreads ();
      break;
    }
}
 

开发者ID:vilie,
项目名称:javify,
代码行数:19,
代码来源:Jdwp.java

示例10: executeSetValues

点赞 3

import gnu.classpath.jdwp.exception.JdwpException; //导入依赖的package包/类
private void executeSetValues(ByteBuffer bb, DataOutputStream os)
    throws JdwpException, IOException
{
  ThreadId tId = (ThreadId) idMan.readObjectId(bb);
  Thread thread = tId.getThread();

  long frameID = bb.getLong();
  VMFrame frame = VMVirtualMachine.getFrame(thread, frameID);

  int slots = bb.getInt();
  for (int i = 0; i < slots; i++)
    {
      int slot = bb.getInt();
      Value value = ValueFactory.createFromTagged(bb);
      frame.setValue(slot, value);
    }
}
 

开发者ID:vilie,
项目名称:javify,
代码行数:18,
代码来源:StackFrameCommandSet.java

示例11: executeVersion

点赞 3

import gnu.classpath.jdwp.exception.JdwpException; //导入依赖的package包/类
private void executeVersion(ByteBuffer bb, DataOutputStream os)
  throws JdwpException, IOException
{

  Properties props = System.getProperties();

  int jdwpMajor = JdwpConstants.Version.MAJOR;
  int jdwpMinor = JdwpConstants.Version.MINOR;
  // The description field is pretty loosely defined
  String description = "JDWP version " + jdwpMajor + "." + jdwpMinor
                       + ", JVM version " + props.getProperty("java.vm.name")
                       + " " + props.getProperty("java.vm.version") + " "
                       + props.getProperty("java.version");
  String vmVersion = props.getProperty("java.version");
  String vmName = props.getProperty("java.vm.name");
  JdwpString.writeString(os, description);
  os.writeInt(jdwpMajor);
  os.writeInt(jdwpMinor);
  JdwpString.writeString(os, vmName);
  JdwpString.writeString(os, vmVersion);
}
 

开发者ID:vilie,
项目名称:javify,
代码行数:22,
代码来源:VirtualMachineCommandSet.java

示例12: executeAllClasses

点赞 3

import gnu.classpath.jdwp.exception.JdwpException; //导入依赖的package包/类
private void executeAllClasses(ByteBuffer bb, DataOutputStream os)
  throws JdwpException, IOException
{
  Collection classes = VMVirtualMachine.getAllLoadedClasses();
  os.writeInt(classes.size ());

  Iterator iter = classes.iterator ();
  while (iter.hasNext())
    {
      Class clazz = (Class) iter.next();
      ReferenceTypeId id = idMan.getReferenceTypeId(clazz);
      id.writeTagged(os);
      String sig = Signature.computeClassSignature(clazz);
      JdwpString.writeString(os, sig);
      int status = VMVirtualMachine.getClassStatus(clazz);
      os.writeInt(status);
    }
}
 

开发者ID:vilie,
项目名称:javify,
代码行数:19,
代码来源:VirtualMachineCommandSet.java

示例13: executeDispose

点赞 3

import gnu.classpath.jdwp.exception.JdwpException; //导入依赖的package包/类
private void executeDispose(ByteBuffer bb, DataOutputStream os)
  throws JdwpException
{
  // resumeAllThreads isn't sufficient as a thread may have been
  // suspended multiple times, we likely need a way to keep track of how many
  // times a thread has been suspended or else a stronger resume method for
  // this purpose
  // VMVirtualMachine.resumeAllThreads ();

  // Simply shutting down the jdwp layer will take care of the rest of the
  // shutdown other than disabling debugging in the VM
  // VMVirtualMachine.disableDebugging();

  // Don't implement this until we're sure how to remove all the debugging
  // effects from the VM.
  throw new NotImplementedException(
    "Command VirtualMachine.Dispose not implemented");

}
 

开发者ID:vilie,
项目名称:javify,
代码行数:20,
代码来源:VirtualMachineCommandSet.java

示例14: executeClassPaths

点赞 3

import gnu.classpath.jdwp.exception.JdwpException; //导入依赖的package包/类
private void executeClassPaths(ByteBuffer bb, DataOutputStream os)
  throws JdwpException, IOException
{
  String baseDir = System.getProperty("user.dir");
  JdwpString.writeString(os, baseDir);

  // Find and write the classpath
  String classPath = System.getProperty("java.class.path");
  String[] paths = classPath.split(":");

  os.writeInt(paths.length);
  for (int i = 0; i < paths.length; i++)
    JdwpString.writeString(os, paths[i]);

  // Now the bootpath
  String bootPath = System.getProperty("sun.boot.class.path");
  paths = bootPath.split(":");
  os.writeInt(paths.length);
  for (int i = 0; i < paths.length; i++)
    JdwpString.writeString(os, paths[i]);
}
 

开发者ID:vilie,
项目名称:javify,
代码行数:22,
代码来源:VirtualMachineCommandSet.java

示例15: executeRedefineClasses

点赞 3

import gnu.classpath.jdwp.exception.JdwpException; //导入依赖的package包/类
private void executeRedefineClasses(ByteBuffer bb, DataOutputStream os)
  throws JdwpException
{
  if (!VMVirtualMachine.canRedefineClasses)
    {
      String msg = "redefinition of classes is not supported";
      throw new NotImplementedException(msg);
    }

  int classes = bb.getInt();
  Class[] types = new Class[classes];
  byte[][] bytecodes = new byte[classes][];
  for (int i = 0; i < classes; ++i)
    {
      ReferenceTypeId id = idMan.readReferenceTypeId(bb);
      int classfile = bb.getInt();
      byte[] bytecode = new byte[classfile];
      bb.get(bytecode);
      types[i] = id.getType();
      bytecodes[i] = bytecode;
    }

  VMVirtualMachine.redefineClasses (types, bytecodes);
}
 

开发者ID:vilie,
项目名称:javify,
代码行数:25,
代码来源:VirtualMachineCommandSet.java

示例16: executeSetDefaultStratum

点赞 2

import gnu.classpath.jdwp.exception.JdwpException; //导入依赖的package包/类
private void executeSetDefaultStratum(ByteBuffer bb, DataOutputStream os)
  throws JdwpException
{
  if (!VMVirtualMachine.canSetDefaultStratum)
    {
      String msg = "setting the default stratum is not supported";
      throw new NotImplementedException(msg);
    }

  String stratum = JdwpString.readString(bb);
  VMVirtualMachine.setDefaultStratum(stratum);
}
 

开发者ID:vilie,
项目名称:javify,
代码行数:13,
代码来源:VirtualMachineCommandSet.java

示例17: clearRequests

点赞 2

import gnu.classpath.jdwp.exception.JdwpException; //导入依赖的package包/类
/**
 * Clears all the requests for a given event
 *
 * @param  kind  the event kind
 * @throws IllegalArgumentException for invalid event kind
 * @throws JdwpException for error clearing events
 */
public void clearRequests (byte kind)
  throws JdwpException
{
  Hashtable requests = (Hashtable) _requests.get (new Byte (kind));
  if (requests == null)
    {
      // Did not get a valid event type
      throw new IllegalArgumentException ("invalid event kind: " + kind);
    }

  VMVirtualMachine.clearEvents (kind);
  requests.clear ();
}
 

开发者ID:vilie,
项目名称:javify,
代码行数:21,
代码来源:EventManager.java

示例18: runCommand

点赞 2

import gnu.classpath.jdwp.exception.JdwpException; //导入依赖的package包/类
public boolean runCommand(ByteBuffer bb, DataOutputStream os, byte command)
  throws JdwpException
{

  // Although there's only a single command to choose from we still use
  // a switch to maintain consistency with the rest of the CommandSets
  try
    {
      switch (command)
        {
        case JdwpConstants.CommandSet.ArrayType.NEW_INSTANCE:
          executeNewInstance(bb, os);
          break;
        default:
          throw new NotImplementedException("Command " + command +
            " not found in ArrayType Command Set.");
      }
    }
  catch (IOException ex)
    {
      // The DataOutputStream we're using isn't talking to a socket at all
      // So if we throw an IOException we're in serious trouble
      throw new JdwpInternalErrorException(ex);
    }

  return false;
}
 

开发者ID:vilie,
项目名称:javify,
代码行数:28,
代码来源:ArrayTypeCommandSet.java

示例19: executeThisObject

点赞 2

import gnu.classpath.jdwp.exception.JdwpException; //导入依赖的package包/类
private void executeThisObject(ByteBuffer bb, DataOutputStream os)
    throws JdwpException, IOException
{
  ThreadId tId = (ThreadId) idMan.readObjectId(bb);
  Thread thread = tId.getThread();

  long frameID = bb.getLong();
  VMFrame frame = VMVirtualMachine.getFrame(thread, frameID);

  ObjectValue objVal = new ObjectValue(frame.getObject());
  objVal.writeTagged(os);
}
 

开发者ID:vilie,
项目名称:javify,
代码行数:13,
代码来源:StackFrameCommandSet.java

示例20: executeName

点赞 2

import gnu.classpath.jdwp.exception.JdwpException; //导入依赖的package包/类
private void executeName(ByteBuffer bb, DataOutputStream os)
    throws JdwpException, IOException
{
  ThreadId tid = (ThreadId) idMan.readObjectId(bb);
  Thread thread = tid.getThread();
  JdwpString.writeString(os, thread.getName());
}
 

开发者ID:vilie,
项目名称:javify,
代码行数:8,
代码来源:ThreadReferenceCommandSet.java

示例21: executeSuspend

点赞 2

import gnu.classpath.jdwp.exception.JdwpException; //导入依赖的package包/类
private void executeSuspend(ByteBuffer bb, DataOutputStream os)
    throws JdwpException, IOException
{
  ThreadId tid = (ThreadId) idMan.readObjectId(bb);
  Thread thread = tid.getThread();
  VMVirtualMachine.suspendThread(thread);
}
 

开发者ID:vilie,
项目名称:javify,
代码行数:8,
代码来源:ThreadReferenceCommandSet.java

示例22: executeResume

点赞 2

import gnu.classpath.jdwp.exception.JdwpException; //导入依赖的package包/类
private void executeResume(ByteBuffer bb, DataOutputStream os)
    throws JdwpException, IOException
{
  ThreadId tid = (ThreadId) idMan.readObjectId(bb);
  Thread thread = tid.getThread();
  VMVirtualMachine.resumeThread(thread);
}
 

开发者ID:vilie,
项目名称:javify,
代码行数:8,
代码来源:ThreadReferenceCommandSet.java

示例23: executeStatus

点赞 2

import gnu.classpath.jdwp.exception.JdwpException; //导入依赖的package包/类
private void executeStatus(ByteBuffer bb, DataOutputStream os)
    throws JdwpException, IOException
{
  ThreadId tid = (ThreadId) idMan.readObjectId(bb);
  Thread thread = tid.getThread();
  int threadStatus = VMVirtualMachine.getThreadStatus(thread);
  // There's only one possible SuspendStatus...
  int suspendStatus = JdwpConstants.SuspendStatus.SUSPENDED;

  os.writeInt(threadStatus);
  os.writeInt(suspendStatus);
}
 

开发者ID:vilie,
项目名称:javify,
代码行数:13,
代码来源:ThreadReferenceCommandSet.java

示例24: executeInvokeMethod

点赞 2

import gnu.classpath.jdwp.exception.JdwpException; //导入依赖的package包/类
private void executeInvokeMethod(ByteBuffer bb, DataOutputStream os)
  throws JdwpException, IOException
{
  ObjectId oid = idMan.readObjectId(bb);
  Object obj = oid.getObject();

  ObjectId tid = idMan.readObjectId(bb);
  Thread thread = (Thread) tid.getObject();

  ReferenceTypeId rid = idMan.readReferenceTypeId(bb);
  Class clazz = rid.getType();

  VMMethod method = VMMethod.readId(clazz, bb);

  int args = bb.getInt();
  Value[] values = new Value[args];

  for (int i = 0; i < args; i++)
    values[i] = ValueFactory.createFromTagged(bb);

  int invokeOptions = bb.getInt();
  MethodResult mr = VMVirtualMachine.executeMethod(obj, thread,
                                                   clazz, method,
                                                   values, invokeOptions);
  Throwable exception = mr.getThrownException();
  ObjectId eId = idMan.getObjectId(exception);
  mr.getReturnedValue().writeTagged(os);
  eId.writeTagged(os);
}
 

开发者ID:vilie,
项目名称:javify,
代码行数:30,
代码来源:ObjectReferenceCommandSet.java

示例25: executeFrameCount

点赞 2

import gnu.classpath.jdwp.exception.JdwpException; //导入依赖的package包/类
private void executeFrameCount(ByteBuffer bb, DataOutputStream os)
    throws JdwpException, IOException
{
  ThreadId tid = (ThreadId) idMan.readObjectId(bb);
  Thread thread = tid.getThread();

  int frameCount = VMVirtualMachine.getFrameCount(thread);
  os.writeInt(frameCount);
}
 

开发者ID:vilie,
项目名称:javify,
代码行数:10,
代码来源:ThreadReferenceCommandSet.java

示例26: executeStop

点赞 2

import gnu.classpath.jdwp.exception.JdwpException; //导入依赖的package包/类
private void executeStop(ByteBuffer bb, DataOutputStream os)
    throws JdwpException, IOException
{
  ThreadId tid = (ThreadId) idMan.readObjectId(bb);
  Thread thread = tid.getThread();
  ObjectId exception = idMan.readObjectId(bb);
  Throwable throwable = (Throwable) exception.getObject();
  thread.stop (throwable);
}
 

开发者ID:vilie,
项目名称:javify,
代码行数:10,
代码来源:ThreadReferenceCommandSet.java

示例27: executeInterrupt

点赞 2

import gnu.classpath.jdwp.exception.JdwpException; //导入依赖的package包/类
private void executeInterrupt(ByteBuffer bb, DataOutputStream os)
    throws JdwpException, IOException
{
  ThreadId tid = (ThreadId) idMan.readObjectId(bb);
  Thread thread = tid.getThread();
  thread.interrupt();
}
 

开发者ID:vilie,
项目名称:javify,
代码行数:8,
代码来源:ThreadReferenceCommandSet.java

示例28: executeSuspendCount

点赞 2

import gnu.classpath.jdwp.exception.JdwpException; //导入依赖的package包/类
private void executeSuspendCount(ByteBuffer bb, DataOutputStream os)
    throws JdwpException, IOException
{
  ThreadId tid = (ThreadId) idMan.readObjectId(bb);
  Thread thread = tid.getThread();
  int suspendCount = VMVirtualMachine.getSuspendCount(thread);
  os.writeInt(suspendCount);
}
 

开发者ID:vilie,
项目名称:javify,
代码行数:9,
代码来源:ThreadReferenceCommandSet.java

示例29: runCommand

点赞 2

import gnu.classpath.jdwp.exception.JdwpException; //导入依赖的package包/类
public boolean runCommand(ByteBuffer bb, DataOutputStream os, byte command)
  throws JdwpException
{
  try
    {
      switch (command)
        {
        case JdwpConstants.CommandSet.ArrayReference.LENGTH:
          executeLength(bb, os);
          break;
        case JdwpConstants.CommandSet.ArrayReference.GET_VALUES:
          executeGetValues(bb, os);
          break;
        case JdwpConstants.CommandSet.ArrayReference.SET_VALUES:
          executeSetValues(bb, os);
          break;
        default:
          throw new NotImplementedException("Command " + command +
            " not found in Array Reference Command Set.");
        }
    }
  catch (IOException ex)
    {
      // The DataOutputStream we're using isn't talking to a socket at all
      // So if we throw an IOException we're in serious trouble
      throw new JdwpInternalErrorException(ex);
    }

  return false;
}
 

开发者ID:vilie,
项目名称:javify,
代码行数:31,
代码来源:ArrayReferenceCommandSet.java

示例30: executeSetValues

点赞 2

import gnu.classpath.jdwp.exception.JdwpException; //导入依赖的package包/类
private void executeSetValues(ByteBuffer bb, DataOutputStream os)
  throws IOException, JdwpException
{
  ObjectId oid = idMan.readObjectId(bb);
  Object array = oid.getObject();
  int first = bb.getInt();
  int length = bb.getInt();
  Class type = array.getClass().getComponentType();
  for (int i = first; i < first + length; i++)
    {
      Object value = Value.getUntaggedObject(bb, type);
      Array.set(array, i, value);
    }
}
 

开发者ID:vilie,
项目名称:javify,
代码行数:15,
代码来源:ArrayReferenceCommandSet.java

示例31: runCommand

点赞 2

import gnu.classpath.jdwp.exception.JdwpException; //导入依赖的package包/类
public boolean runCommand(ByteBuffer bb, DataOutputStream os, byte command)
    throws JdwpException
{
  boolean keepRunning = true;
  try
    {
      switch (command)
        {
        case JdwpConstants.CommandSet.StackFrame.GET_VALUES:
          executeGetValues(bb, os);
          break;
        case JdwpConstants.CommandSet.StackFrame.SET_VALUES:
          executeSetValues(bb, os);
          break;
        case JdwpConstants.CommandSet.StackFrame.THIS_OBJECT:
          executeThisObject(bb, os);
          break;
        case JdwpConstants.CommandSet.StackFrame.POP_FRAMES:
          executePopFrames(bb, os);
          break;
        default:
          throw new NotImplementedException("Command " + command +
          " not found in Stack Frame Command Set.");
        }
    }
  catch (IOException ex)
    {
      // The DataOutputStream we're using isn't talking to a socket at all
      // So if we throw an IOException we're in serious trouble
      throw new JdwpInternalErrorException(ex);
    }

  return false;
}
 

开发者ID:vilie,
项目名称:javify,
代码行数:35,
代码来源:StackFrameCommandSet.java

示例32: executeClassLoader

点赞 2

import gnu.classpath.jdwp.exception.JdwpException; //导入依赖的package包/类
private void executeClassLoader(ByteBuffer bb, DataOutputStream os)
  throws JdwpException, IOException
{
  ReferenceTypeId refId = idMan.readReferenceTypeId(bb);

  Class clazz = refId.getType();
  ClassLoader loader = clazz.getClassLoader();
  ObjectId oid = idMan.getObjectId(loader);
  oid.write(os);
}
 

开发者ID:vilie,
项目名称:javify,
代码行数:11,
代码来源:ReferenceTypeCommandSet.java

示例33: executeModifiers

点赞 2

import gnu.classpath.jdwp.exception.JdwpException; //导入依赖的package包/类
private void executeModifiers(ByteBuffer bb, DataOutputStream os)
  throws JdwpException, IOException
{
  ReferenceTypeId refId = idMan.readReferenceTypeId(bb);

  Class clazz = refId.getType();
  os.writeInt(clazz.getModifiers());
}
 

开发者ID:vilie,
项目名称:javify,
代码行数:9,
代码来源:ReferenceTypeCommandSet.java

示例34: runCommand

点赞 2

import gnu.classpath.jdwp.exception.JdwpException; //导入依赖的package包/类
/**
 * There are no commands for this CommandSet at this time so we just throw a
 * NotImplementedException whenever it's called.
 *
 * @throws JdwpException An exception will always be thrown
 */
public boolean runCommand(ByteBuffer bb, DataOutputStream os, byte command)
  throws JdwpException
{
  throw new NotImplementedException(
    "No commands for command set Field implemented.");
}
 

开发者ID:vilie,
项目名称:javify,
代码行数:13,
代码来源:FieldCommandSet.java

示例35: executeSourceFile

点赞 2

import gnu.classpath.jdwp.exception.JdwpException; //导入依赖的package包/类
private void executeSourceFile(ByteBuffer bb, DataOutputStream os)
  throws JdwpException, IOException
{
  ReferenceTypeId refId = idMan.readReferenceTypeId(bb);
  Class clazz = refId.getType();

  // We'll need to go into the jvm for this unless there's an easier way
  String sourceFileName = VMVirtualMachine.getSourceFile(clazz);
  JdwpString.writeString(os, sourceFileName);
  // clazz.getProtectionDomain().getCodeSource().getLocation();
}
 

开发者ID:vilie,
项目名称:javify,
代码行数:12,
代码来源:ReferenceTypeCommandSet.java

示例36: executeNestedTypes

点赞 2

import gnu.classpath.jdwp.exception.JdwpException; //导入依赖的package包/类
private void executeNestedTypes(ByteBuffer bb, DataOutputStream os)
  throws JdwpException, IOException
{
  ReferenceTypeId refId = idMan.readReferenceTypeId(bb);
  Class clazz = refId.getType();
  Class[] declaredClazzes = clazz.getDeclaredClasses();
  os.writeInt(declaredClazzes.length);
  for (int i = 0; i < declaredClazzes.length; i++)
    {
      Class decClazz = declaredClazzes[i];
      ReferenceTypeId clazzId = idMan.getReferenceTypeId(decClazz);
      clazzId.writeTagged(os);
    }
}
 

开发者ID:vilie,
项目名称:javify,
代码行数:15,
代码来源:ReferenceTypeCommandSet.java

示例37: executeStatus

点赞 2

import gnu.classpath.jdwp.exception.JdwpException; //导入依赖的package包/类
private void executeStatus(ByteBuffer bb, DataOutputStream os)
  throws JdwpException, IOException
{
  ReferenceTypeId refId = idMan.readReferenceTypeId(bb);
  Class clazz = refId.getType();

  // I don't think there's any other way to get this
  int status = VMVirtualMachine.getClassStatus(clazz);
  os.writeInt(status);
}
 

开发者ID:vilie,
项目名称:javify,
代码行数:11,
代码来源:ReferenceTypeCommandSet.java

示例38: executeInterfaces

点赞 2

import gnu.classpath.jdwp.exception.JdwpException; //导入依赖的package包/类
private void executeInterfaces(ByteBuffer bb, DataOutputStream os)
  throws JdwpException, IOException
{
  ReferenceTypeId refId = idMan.readReferenceTypeId(bb);
  Class clazz = refId.getType();
  Class[] interfaces = clazz.getInterfaces();
  os.writeInt(interfaces.length);
  for (int i = 0; i < interfaces.length; i++)
    {
      Class interfaceClass = interfaces[i];
      ReferenceTypeId intId = idMan.getReferenceTypeId(interfaceClass);
      intId.write(os);
    }
}
 

开发者ID:vilie,
项目名称:javify,
代码行数:15,
代码来源:ReferenceTypeCommandSet.java

示例39: executeClassObject

点赞 2

import gnu.classpath.jdwp.exception.JdwpException; //导入依赖的package包/类
private void executeClassObject(ByteBuffer bb, DataOutputStream os)
  throws JdwpException, IOException
{
  ReferenceTypeId refId = idMan.readReferenceTypeId(bb);
  Class clazz = refId.getType();
  ObjectId clazzObjectId = idMan.getObjectId(clazz);
  clazzObjectId.write(os);
}
 

开发者ID:vilie,
项目名称:javify,
代码行数:9,
代码来源:ReferenceTypeCommandSet.java

示例40: executeSourceDebugExtension

点赞 2

import gnu.classpath.jdwp.exception.JdwpException; //导入依赖的package包/类
private void executeSourceDebugExtension(ByteBuffer bb, DataOutputStream os)
  throws JdwpException, IOException
{
  if (!VMVirtualMachine.canGetSourceDebugExtension)
    {
      String msg = "source debug extension is not supported";
      throw new NotImplementedException(msg);
    }

  ReferenceTypeId id = idMan.readReferenceTypeId(bb);
  String ext = VMVirtualMachine.getSourceDebugExtension (id.getType());
  JdwpString.writeString(os, ext);
}
 

开发者ID:vilie,
项目名称:javify,
代码行数:14,
代码来源:ReferenceTypeCommandSet.java


版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)