# Package com.sun.jdi

This is the core package of the Java Debug Interface (JDI), it defines mirrors for values, types, and the target VirtualMachine itself - as well bootstrapping facilities.

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  Accessible | Provides information on the accessibility of a type or type component.
  ArrayReference | Provides access to an array object and its components in the target VM.
  ArrayType | Provides access to the class of an array and the type of its components in the target VM.
  BooleanType | The type of all primitive `boolean` values accessed in the target VM.
  BooleanValue | Provides access to a primitive `boolean` value in the target VM.
  ByteType | The type of all primitive byte values accessed in the target VM.
  ByteValue | Provides access to a primitive `byte` value in the target VM.
  CharType | The type of all primitive char values accessed in the target VM.
  CharValue | Provides access to a primitive `char` value in the target VM.
  ClassLoaderReference | A class loader object from the target VM.
  ClassObjectReference | An instance of java.lang.Class from the target VM.
  ClassType | A mirror of a class in the target VM.
  DoubleType | The type of all primitive double values accessed in the target VM.
  DoubleValue | Provides access to a primitive `double` value in the target VM.
  Field | A class or instance variable in the target VM.
  FloatType | The type of all primitive float values accessed in the target VM.
  FloatValue | Provides access to a primitive `float` value in the target VM.
  IntegerType | The type of all primitive `int` values accessed in the target VM.
  IntegerValue | Provides access to a primitive `int` value in the target VM.
  InterfaceType | A mirror of an interface in the target VM.
  LocalVariable | A local variable in the target VM.
  Locatable | A mirror that has a `Location`.
  Location | A point within the executing code of the target VM.
  LongType | The type of all primitive `long` values accessed in the target VM.
  LongValue | Provides access to a primitive `long` value in the target VM.
  Method | A static or instance method in the target VM.
  Mirror | A proxy used by a debugger to examine or manipulate some entity in another virtual machine.
  MonitorInfo | Information about a monitor owned by a thread.
  ObjectReference | An object that currently exists in the target VM.
  PathSearchingVirtualMachine | A virtual machine which searches for classes through paths
  PrimitiveType | The type associated with non-object values in a target VM.
  PrimitiveValue | The value assigned to a field or variable of primitive type in a target VM.
  ReferenceType | The type of an object in a target VM.
  ShortType | The type of all primitive `short` values accessed in the target VM.
  ShortValue | Provides access to a primitive `short` value in the target VM.
  StackFrame | The state of one method invocation on a thread's call stack.
  StringReference | A string object from the target VM.
  ThreadGroupReference | A thread group object from the target VM.
  ThreadReference | A thread object from the target VM.
  Type | The mirror for a type in the target VM.
  TypeComponent | An entity declared within a user defined type (class or interface).
  Value | The mirror for a value in the target VM.
  VirtualMachine | A virtual machine targeted for debugging.
  VirtualMachineManager | A manager of connections to target virtual machines.
  VoidType | The type of all primitive `void` values accessed in the target VM.
  VoidValue | Provides access to a primitive `void` value in the target VM.

- Class Summary
  Class | Description
  --- | ---
  Bootstrap | Initial class that provides access to the default implementation of JDI interfaces.
  JDIPermission | The `JDIPermission` class represents access rights to the `VirtualMachineManager`.

- Exception Summary
  Exception | Description
  --- | ---
  AbsentInformationException | Thrown to indicate line number or variable information is not available.
  ClassNotLoadedException | Thrown to indicate that the requested class has not yet been loaded through the appropriate class loader.
  ClassNotPreparedException | Thrown to indicate that the requested operation cannot be completed because the specified class has not yet been prepared.
  IncompatibleThreadStateException | Thrown to indicate that the requested operation cannot be completed while the specified thread is in its current state.
  InconsistentDebugInfoException | Thrown to indicate that there is an inconistency in the debug information provided by the target VM.
  InternalException | Thrown to indicate that an unexpected internal error has occurred.
  InvalidCodeIndexException | Deprecated This exception is no longer thrown
  InvalidLineNumberException | Deprecated This exception is no longer thrown
  InvalidStackFrameException | Thrown to indicate that the requested operation cannot be completed because the specified stack frame is no longer valid.
  InvalidTypeException | Thrown to indicate a type mismatch in setting the value of a field or variable, or in specifying the return value of a method.
  InvocationException | Thrown to indicate an exception occurred in an invoked method within the target VM.
  NativeMethodException | Thrown to indicate an operation cannot be completed because it is not valid for a native method.
  ObjectCollectedException | Thrown to indicate that the requested operation cannot be completed because the specified object has been garbage collected.
  VMCannotBeModifiedException | Thrown to indicate that the operation is invalid because it would modify the VM and the VM is read-only.
  VMDisconnectedException | Unchecked exception thrown to indicate that the requested operation cannot be completed because there is no longer a connection to the target VM.
  VMMismatchException | Thrown to indicate that the requested operation cannot be completed because the a mirror from one target VM is being combined with a mirror from another target VM.
  VMOutOfMemoryException | Thrown to indicate that the requested operation cannot be completed because the target VM has run out of memory.

## Package com.sun.jdi Description

This is the core package of the Java Debug Interface (JDI), it defines mirrors for values, types, and the target VirtualMachine itself - as well bootstrapping facilities. `VirtualMachine` mirrors the target virtual machine and is the origin of all information provided by the JDI. A VirtualMachine is typically created by using the `VirtualMachineManager` to create a connection to the target virtual machine (see the `com.sun.jdi.connect` package). In turn the `VirtualMachineManager` is typically created by calling `Bootstrap.virtualMachineManager()`.

Most of the methods within this package can throw the unchecked exception `VMDisconnectedException`.

Methods may be added to the interfaces in the JDI packages in future releases. Existing packages may be renamed if the JDI becomes a standard extension.

Copyright © 1999, 2014, Oracle and/or its affiliates. All rights reserved.