class ProcessDebugger extends Debugger with Logging
Represents a debugger that attaches to a JVM process on the same machine.
- Alphabetic
- By Inheritance
- ProcessDebugger
- Debugger
- Logging
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
-
implicit
class
LoggerExtras
extends AnyRef
- Definition Classes
- Logging
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
addNewScalaVirtualMachine(scalaVirtualMachineManager: ScalaVirtualMachineManager, virtualMachine: VirtualMachine, profileManager: ProfileManager, loopingTaskRunner: LoopingTaskRunner): ScalaVirtualMachine
Creates and adds a new ScalaVirtualMachine instance.
Creates and adds a new ScalaVirtualMachine instance.
- scalaVirtualMachineManager
The manager of of the new virtual machine
- virtualMachine
The underlying virtual machine
- profileManager
The profile manager associated with the virtual machine
- loopingTaskRunner
The looping task runner used to process events for the virtual machine
- returns
The new ScalaVirtualMachine instance
- Attributes
- protected
-
def
addPendingScalaVirtualMachine(scalaVirtualMachine: ScalaVirtualMachine): Option[ScalaVirtualMachine]
Adds a new Scala virtual machine whose pending operations will be applied to any new Scala virtual machine resulting from this debugger.
Adds a new Scala virtual machine whose pending operations will be applied to any new Scala virtual machine resulting from this debugger.
- scalaVirtualMachine
The Scala virtual machine to add
- returns
Some Scala virtual machine if added, otherwise None
- Definition Classes
- Debugger
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
assertJdiLoaded(): Unit
Attempts to load the JDI, asserting that it can be and is loaded.
Attempts to load the JDI, asserting that it can be and is loaded.
- Attributes
- protected
- Definition Classes
- Debugger
- Annotations
- @throws( classOf[AssertionError] )
- Exceptions thrown
AssertionError
If failed to load the JDI
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
def
connectedScalaVirtualMachines: Seq[ScalaVirtualMachine]
Retrieves the connected virtual machines for the debugger.
Retrieves the connected virtual machines for the debugger. Does not include any dummy virtual machines.
- returns
The collection of connected virtual machines
- Definition Classes
- Debugger
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
-
def
getPendingScalaVirtualMachines: Seq[ScalaVirtualMachine]
Retrieves the collection of Scala virtual machines whose pending operations will be applied to any new Scala virtual machine resulting from this debugger.
Retrieves the collection of Scala virtual machines whose pending operations will be applied to any new Scala virtual machine resulting from this debugger.
- returns
The collection of Scala virtual machines
- Definition Classes
- Debugger
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
-
def
isAvailable: Boolean
Determines whether or not the debugger is available for use.
Determines whether or not the debugger is available for use.
- returns
True if the debugger is available, otherwise false
- Definition Classes
- Debugger
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
isRunning: Boolean
Indicates whether or not the debugger is running.
Indicates whether or not the debugger is running.
- returns
True if it is running, otherwise false
- Definition Classes
- ProcessDebugger → Debugger
-
val
jdiLoader: JDILoader
- Attributes
- protected
- Definition Classes
- Debugger
-
val
logger: Logger
- Attributes
- protected
- Definition Classes
- Logging
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
newDummyScalaVirtualMachine(): ScalaVirtualMachine
Creates a new dummy Scala virtual machine instance that can be used to prepare pending requests to apply to the Scala virtual machines generated by the debugger once it starts.
Creates a new dummy Scala virtual machine instance that can be used to prepare pending requests to apply to the Scala virtual machines generated by the debugger once it starts.
- returns
The new dummy (no-op) Scala virtual machine instance
- Definition Classes
- Debugger
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
-
def
process: Option[Process]
Retrieves the process of the attached JVM.
Retrieves the process of the attached JVM.
- returns
The Java process representing the attached JVM
-
def
removePendingScalaVirtualMachine(scalaVirtualMachineId: String): Option[ScalaVirtualMachine]
Removes a Scala virtual machine from the list whose pending operations would be applied to any new Scala virtual machine resulting from this debugger.
Removes a Scala virtual machine from the list whose pending operations would be applied to any new Scala virtual machine resulting from this debugger.
- scalaVirtualMachineId
The id of the Scala virtual machine to remove
- returns
Some Scala virtual machine if removed, otherwise None
- Definition Classes
- Debugger
-
def
scalaVirtualMachineManager: ScalaVirtualMachineManager
Retrieves the Scala virtual machine manager associated with this debugger.
Retrieves the Scala virtual machine manager associated with this debugger.
- returns
The Scala virtual machine manager.
- Definition Classes
- Debugger
- Note
Currently, this manager is global, meaning that all debuggers have the same manager. Because of this, any operations dependent on the manager will be associated with all debuggers (such as getting a list of connected virtual machines).
-
def
start[T](defaultProfile: String, startProcessingEvents: Boolean, newVirtualMachineFunc: (ScalaVirtualMachine) ⇒ T): Unit
Starts the debugger, resulting in attaching a new process to connect to.
Starts the debugger, resulting in attaching a new process to connect to.
- T
The return type of the callback function
- defaultProfile
The default profile to use with the new VMs
- startProcessingEvents
If true, events are immediately processed by the VM as soon as it is connected
- newVirtualMachineFunc
The function to be invoked once the process has been attached
- Definition Classes
- ProcessDebugger → Debugger
-
def
start[T](startProcessingEvents: Boolean, newVirtualMachineFunc: (ScalaVirtualMachine) ⇒ T): Unit
Starts the debugger, performing any necessary setup and ending with an initialized debugger that is or will be capable of connecting to one or more virtual machine instances.
Starts the debugger, performing any necessary setup and ending with an initialized debugger that is or will be capable of connecting to one or more virtual machine instances. Uses the default profile for new VMs.
- T
The return type of the callback function
- startProcessingEvents
If true, events are immediately processed by the VM as soon as it is connected
- newVirtualMachineFunc
The function that will be called when a new virtual machine connection is created as a result of this debugger
- Definition Classes
- Debugger
-
def
start[T](defaultProfile: String, newVirtualMachineFunc: (ScalaVirtualMachine) ⇒ T): Unit
Starts the debugger, performing any necessary setup and ending with an initialized debugger that is or will be capable of connecting to one or more virtual machine instances.
Starts the debugger, performing any necessary setup and ending with an initialized debugger that is or will be capable of connecting to one or more virtual machine instances.
- T
The return type of the callback function
- defaultProfile
The default profile to use with the new VMs
- newVirtualMachineFunc
The function that will be called when a new virtual machine connection is created as a result of this debugger
- Definition Classes
- Debugger
-
def
start[T](newVirtualMachineFunc: (ScalaVirtualMachine) ⇒ T): Unit
Starts the debugger, performing any necessary setup and ending with an initialized debugger that is or will be capable of connecting to one or more virtual machine instances.
Starts the debugger, performing any necessary setup and ending with an initialized debugger that is or will be capable of connecting to one or more virtual machine instances. Uses the default profile for new VMs.
- T
The return type of the callback function
- newVirtualMachineFunc
The function that will be called when a new virtual machine connection is created as a result of this debugger
- Definition Classes
- Debugger
-
def
start(defaultProfile: String, startProcessingEvents: Boolean): Future[ScalaVirtualMachine]
Starts the debugger, performing any necessary setup and ending with an initialized debugger that is or will be capable of connecting to one or more virtual machine instances.
Starts the debugger, performing any necessary setup and ending with an initialized debugger that is or will be capable of connecting to one or more virtual machine instances.
- defaultProfile
The default profile to use with the new VMs
- startProcessingEvents
If true, events are immediately processed by the VM as soon as it is connected
- returns
The future representing the connected Scala virtual machine
- Definition Classes
- Debugger
- Note
Returned future represents next connected Scala virtual machine. All other Scala virtual machines connected after the first one will be ignored.
-
def
start(startProcessingEvents: Boolean): Future[ScalaVirtualMachine]
Starts the debugger, performing any necessary setup and ending with an initialized debugger that is or will be capable of connecting to one or more virtual machine instances.
Starts the debugger, performing any necessary setup and ending with an initialized debugger that is or will be capable of connecting to one or more virtual machine instances. Uses the default profile for new VMs.
- startProcessingEvents
If true, events are immediately processed by the VM as soon as it is connected
- returns
The future representing the connected Scala virtual machine
- Definition Classes
- Debugger
- Note
Returned future represents next connected Scala virtual machine. All other Scala virtual machines connected after the first one will be ignored.
-
def
start(defaultProfile: String): Future[ScalaVirtualMachine]
Starts the debugger, performing any necessary setup and ending with an initialized debugger that is or will be capable of connecting to one or more virtual machine instances.
Starts the debugger, performing any necessary setup and ending with an initialized debugger that is or will be capable of connecting to one or more virtual machine instances.
- defaultProfile
The default profile to use with the new VMs
- returns
The future representing the connected Scala virtual machine
- Definition Classes
- Debugger
- Note
Returned future represents next connected Scala virtual machine. All other Scala virtual machines connected after the first one will be ignored.
-
def
start(): Future[ScalaVirtualMachine]
Starts the debugger, performing any necessary setup and ending with an initialized debugger that is or will be capable of connecting to one or more virtual machine instances.
Starts the debugger, performing any necessary setup and ending with an initialized debugger that is or will be capable of connecting to one or more virtual machine instances. Uses the default profile for new VMs.
- returns
The future representing the connected Scala virtual machine
- Definition Classes
- Debugger
- Note
Returned future represents next connected Scala virtual machine. All other Scala virtual machines connected after the first one will be ignored.
-
def
start(timeout: Duration, defaultProfile: String, startProcessingEvents: Boolean): ScalaVirtualMachine
Starts the debugger, performing any necessary setup and ending with an initialized debugger that is or will be capable of connecting to one or more virtual machine instances.
Starts the debugger, performing any necessary setup and ending with an initialized debugger that is or will be capable of connecting to one or more virtual machine instances.
- timeout
The maximum time to wait for the JVM to connect
- defaultProfile
The default profile to use with the new VMs
- startProcessingEvents
If true, events are immediately processed by the VM as soon as it is connected
- returns
The connected Scala virtual machine
- Definition Classes
- Debugger
- Note
Returned Scala virtual machine represents next connected Scala virtual machine. All other Scala virtual machines connected after the first one will be ignored.
-
def
start(timeout: Duration, startProcessingEvents: Boolean): ScalaVirtualMachine
Starts the debugger, performing any necessary setup and ending with an initialized debugger that is or will be capable of connecting to one or more virtual machine instances.
Starts the debugger, performing any necessary setup and ending with an initialized debugger that is or will be capable of connecting to one or more virtual machine instances. Uses the default profile for new VMs.
- timeout
The maximum time to wait for the JVM to connect
- startProcessingEvents
If true, events are immediately processed by the VM as soon as it is connected
- returns
The connected Scala virtual machine
- Definition Classes
- Debugger
- Note
Returned Scala virtual machine represents next connected Scala virtual machine. All other Scala virtual machines connected after the first one will be ignored.
-
def
start(timeout: Duration, defaultProfile: String): ScalaVirtualMachine
Starts the debugger, performing any necessary setup and ending with an initialized debugger that is or will be capable of connecting to one or more virtual machine instances.
Starts the debugger, performing any necessary setup and ending with an initialized debugger that is or will be capable of connecting to one or more virtual machine instances.
- timeout
The maximum time to wait for the JVM to connect
- defaultProfile
The default profile to use with the new VMs
- returns
The connected Scala virtual machine
- Definition Classes
- Debugger
- Note
Returned Scala virtual machine represents next connected Scala virtual machine. All other Scala virtual machines connected after the first one will be ignored.
-
def
start(timeout: Duration): ScalaVirtualMachine
Starts the debugger, performing any necessary setup and ending with an initialized debugger that is or will be capable of connecting to one or more virtual machine instances.
Starts the debugger, performing any necessary setup and ending with an initialized debugger that is or will be capable of connecting to one or more virtual machine instances. Uses the default profile for new VMs.
- timeout
The maximum time to wait for the JVM to connect
- returns
The connected Scala virtual machine
- Definition Classes
- Debugger
- Note
Returned Scala virtual machine represents next connected Scala virtual machine. All other Scala virtual machines connected after the first one will be ignored.
-
def
stop(): Unit
Stops the process attached by the debugger.
Stops the process attached by the debugger.
- Definition Classes
- ProcessDebugger → Debugger
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
def
withPending(scalaVirtualMachine: ScalaVirtualMachine): Debugger
Adds a new Scala virtual machine to use for pending operations.
Adds a new Scala virtual machine to use for pending operations. Essentially a wrapper around Debugger.addPendingScalaVirtualMachine).
- scalaVirtualMachine
The Scala virtual machine to add
- returns
The debugger instance updated with the new pending operations
- Definition Classes
- Debugger
-
def
withoutPending(scalaVirtualMachineId: String): Debugger
Removes a Scala virtual machine used for pending operations.
Removes a Scala virtual machine used for pending operations. Essentially a wrapper around Debugger.removePendingScalaVirtualMachine.
- scalaVirtualMachineId
The id of the Scala virtual machine to remove
- returns
The updated debugger instance
- Definition Classes
- Debugger