GuestVMInspectConfig

@ConfigurationProperties(value = "elide.gvm.inspect")
interface GuestVMInspectConfig : Toggleable

Guest VM: Chrome Inspector

Configures the Chrome Inspector to run for a given guest VM, to enable debugging / inspection features during guest code execution. To use the inspector, activate these features (either via configuration or command line flags), and then connect to the guest VM via the Chrome DevTools interface.

Note that the inspector will only show the VM once it has booted and initialized; based on configured server warmup settings, this may be at server boot, or upon the first request which invokes the guest VM.

Also note that when the inspector is enabled, only one guest VM instance will be booted at a time. This ensures that all guest VM execution is visible to the debugger.

Inspector: Suspension

To force the inspector to pause execution at the initial invocation, suspend and wait can be set to true; in this case, un-suspension occurs at the moment the debugger is attached after the guest VM begins execution; it will not continue processing until the debugger is attached.

Effectively, this is the same as setting a breakpoint at the first line of guest code. Internals are hidden from view to the debugger unless otherwise specified, in order to simplify user code debugging.

You can also suspend the VM in any number of ways:

  • Breakpoints. You can set a breakpoint via the Chrome Inspector Source panel. When encountered, the VM will suspend and the debugger will attach to the breakpoint line.

  • Debugger statements. Literal debug triggers in guest languages will also suspend the VM; for example, the debugger statement in JavaScript, or import pdb; pdb.set_trace() in Python.

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard
open val path: String?
Link copied to clipboard
open val secure: Boolean
Link copied to clipboard
open val suspend: Boolean
Link copied to clipboard
open val wait: Boolean

Functions

Link copied to clipboard
open override fun isEnabled(): Boolean