Skip to content
Commit e4f15f79 authored by Héctor Mesa Jiménez's avatar Héctor Mesa Jiménez Committed by Christoph Cullmann
Browse files

gdbplugin: Debugger Adapter Protocol backend

Profiles for:
- delve (go)
- debugpy (python)
- perl language server

Profiles are defined in a resource json file, but can be overriden in a
user config file (<user config>/gdbplugin/dap.json).

A profile allows to define variables, which will be shown at the GUI
panel. The format variable is:

	${variable}
	${variable.name}
	${#variable.name}

A variable is considered as a string, but can be transformed using
filters:

	${variable|list} -> transform to a string list (parsed as a list
of arguments)
	${variable|int} -> transform to integer
	${variable|bool} -> transform to boolean
	${variable|base} -> consider the variable a file, and return a
basename
	${variable|dir} -> consider the variable a file, and return the
parent directory

There are 6 special variables:

- ${file}: use the GDB profile widget for the executable path.
- ${workdir}: use the GDB profile widget for the working directory.
- ${args}: use the GDB profile widget for the arguments.
- ${pid}: use an integer input widget.
- ${#run.host} -> reference to the json attribute "run.host"
- ${#run.port} -> reference to the json attribute "run.port"

The bottom-panel allows to choose the backend (GDB or a DAP server).
The input widgets are adapted to match the variables in the selected
profile.

In the lateral panel, variables a grouped by scopes (provided by the
client).

Debugging actions are enabled only if the client supports them.
parent eb5736ac
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment