Debugging and tools
Use these guidelines for debugging, logging, and updates.
Attach debugger to the Toolbox App
Create
toolbox.vmoptions.Check the following example:
agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=9797Alternatively, suspend until attach. Check the following example:
agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=9797Run Toolbox with VM args. Check the following example:
jetbrains-toolbox --jvm-args=/path/to/toolbox.vmoptionsEnsure no other Toolbox App process is running and attach to a running process from the IDE by invoking the Run | Attach to Process action.
Logging and diagnostics
Provide
DiagnosticInfoCollectorat provider/environment level to contribute plugin logs to bundles.Use
Loggerfromcore/diagnosticsas needed.
Visibility-driven updates
The application signals visibility is available via ProviderVisibilityState and EnvironmentVisibilityState.
Use these to throttle expensive updates and emit the initial state on listener addition.
Troubleshooting
If your plugin does not appear, check the plugin folder path, presence of the
extension.jsonfile, and theServiceLoaderfile in your JAR.Check logs in the Toolbox App folders; add a
DiagnosticInfoCollectorto bundle your plugin logs.Ensure
apiVersionis within the supported range.