Command | Description |
---|---|
args | Print function arguments. |
break | Sets a breakpoint. |
breakpoints | Print out info for active breakpoints. |
call | Resumes process, injecting a function call (EXPERIMENTAL!!!) |
check | Creates a checkpoint at the current position. |
checkpoints | Print out info for existing checkpoints. |
clear | Deletes breakpoint. |
clear-checkpoint | Deletes checkpoint. |
clearall | Deletes multiple breakpoints. |
condition | Set breakpoint condition. |
config | Changes configuration parameters. |
continue | Run until breakpoint or program termination. |
disassemble | Disassembler. |
down | Move the current frame down. |
edit | Open where you are in $DELVE_EDITOR or $EDITOR |
exit | Exit the debugger. |
frame | Set the current frame, or execute command on a different frame. |
funcs | Print list of functions. |
goroutine | Shows or changes current goroutine |
goroutines | List program goroutines. |
help | Prints the help message. |
list | Show source code. |
locals | Print local variables. |
next | Step over to next source line. |
on | Executes a command when a breakpoint is hit. |
Evaluate an expression. | |
regs | Print contents of CPU registers. |
restart | Restart process from a checkpoint or event. |
rewind | Run backwards until breakpoint or program termination. |
set | Changes the value of a variable. |
source | Executes a file containing a list of delve commands |
sources | Print list of source files. |
stack | Print stack trace. |
step | Single step through program. |
step-instruction | Single step a single cpu instruction. |
stepout | Step out of the current function. |
thread | Switch to the specified thread. |
threads | Print out info for every traced thread. |
trace | Set tracepoint. |
types | Print list of types |
up | Move the current frame up. |
vars | Print package variables. |
whatis | Prints type of an expression. |
Print function arguments.
[goroutine <n>] [frame <m>] args [-v] [<regex>]
If regex is specified only function arguments with a name matching it will be returned. If -v is specified more information about each function argument will be shown.
Sets a breakpoint.
break [name] <linespec>
See Documentation/cli/locspec.md for the syntax of linespec.
See also: "help on", "help cond" and "help clear"
Aliases: b
Print out info for active breakpoints.
Aliases: bp
Resumes process, injecting a function call (EXPERIMENTAL!!!)
Current limitations:
- can only call package-level functions, no function pointers nor methods.
- only things that have an address can be used as arguments (no literal constants or results of evaluating some expressions).
- only pointers to stack-allocated objects can be passed as argument.
- no automatic type conversions are supported, including automatically converting to an interface type.
- functions can only be called on running goroutines that are not executing the runtime.
- the current goroutine needs to have at least 256 bytes of free space on the stack.
- functions can only be called when the goroutine is stopped at a safe point.
- calling a function will resume execution of all goroutines.
- only supported on linux's native backend.
Creates a checkpoint at the current position.
checkpoint [where]
Aliases: checkpoint
Print out info for existing checkpoints.
Deletes breakpoint.
clear <breakpoint name or id>
Deletes checkpoint.
clear-checkpoint <id>
Aliases: clearcheck
Deletes multiple breakpoints.
clearall [<linespec>]
If called with the linespec argument it will delete all the breakpoints matching the linespec. If linespec is omitted all breakpoints are deleted.
Set breakpoint condition.
condition <breakpoint name or id> <boolean expression>.
Specifies that the breakpoint or tracepoint should break only if the boolean expression is true.
Aliases: cond
Changes configuration parameters.
config -list
Show all configuration parameters.
config -save
Saves the configuration file to disk, overwriting the current configuration file.
config <parameter> <value>
Changes the value of a configuration parameter.
config substitute-path <from> <to>
config substitute-path <from>
Adds or removes a path substitution rule.
config alias <command> <alias>
config alias <alias>
Defines as an alias to or removes an alias.
Run until breakpoint or program termination.
Aliases: c
Disassembler.
[goroutine <n>] [frame <m>] disassemble [-a <start> <end>] [-l <locspec>]
If no argument is specified the function being executed in the selected stack frame will be executed.
-a <start> <end> disassembles the specified address range
-l <locspec> disassembles the specified function
Aliases: disass
Move the current frame down.
down [] down []
Move the current frame down by . The second form runs the command on the given frame.
Open where you are in $DELVE_EDITOR or $EDITOR
Aliases: ed
Exit the debugger.
exit [-c]
When connected to a headless instance started with the --accept-multiclient, pass -c to resume the execution of the target process before disconnecting.
Aliases: quit q
Set the current frame, or execute command on a different frame.
frame frame
The first form sets frame used by subsequent commands such as "print" or "set". The second form runs the command on the given frame.
Print list of functions.
funcs [<regex>]
If regex is specified only the functions matching it will be returned.
Shows or changes current goroutine
goroutine
goroutine <id>
goroutine <id> <command>
Called without arguments it will show information about the current goroutine. Called with a single argument it will switch to the specified goroutine. Called with more arguments it will execute a command on the specified goroutine.
List program goroutines.
goroutines [-u (default: user location)|-r (runtime location)|-g (go statement location)|-s (start location)] [ -t (stack trace)]
Print out info for every goroutine. The flag controls what information is shown along with each goroutine:
-u displays location of topmost stackframe in user code
-r displays location of topmost stackframe (including frames inside private runtime functions)
-g displays location of go instruction that created the goroutine
-s displays location of the start function
-t displays stack trace of goroutine
If no flag is specified the default is -u.
Prints the help message.
help [command]
Type "help" followed by the name of a command for more information about it.
Aliases: h
Show source code.
[goroutine <n>] [frame <m>] list [<linespec>]
Show source around current point or provided linespec.
Aliases: ls l
Print local variables.
[goroutine <n>] [frame <m>] locals [-v] [<regex>]
The name of variables that are shadowed in the current scope will be shown in parenthesis.
If regex is specified only local variables with a name matching it will be returned. If -v is specified more information about each local variable will be shown.
Step over to next source line.
Aliases: n
Executes a command when a breakpoint is hit.
on <breakpoint name or id> <command>.
Supported commands: print, stack and goroutine)
Evaluate an expression.
[goroutine <n>] [frame <m>] print <expression>
See Documentation/cli/expr.md for a description of supported expressions.
Aliases: p
Print contents of CPU registers.
regs [-a]
Argument -a shows more registers.
Restart process from a checkpoint or event.
restart [event number or checkpoint id]
Aliases: r
Run backwards until breakpoint or program termination.
Aliases: rw
Changes the value of a variable.
[goroutine <n>] [frame <m>] set <variable> = <value>
See Documentation/cli/expr.md for a description of supported expressions. Only numerical variables and pointers can be changed.
Executes a file containing a list of delve commands
source <path>
Print list of source files.
sources [<regex>]
If regex is specified only the source files matching it will be returned.
Print stack trace.
[goroutine <n>] [frame <m>] stack [<depth>] [-full] [-g] [-s] [-offsets]
-full every stackframe is decorated with the value of its local variables and arguments.
-offsets prints frame offset of each frame
Aliases: bt
Single step through program.
Aliases: s
Single step a single cpu instruction.
Aliases: si
Step out of the current function.
Switch to the specified thread.
thread <id>
Aliases: tr
Print out info for every traced thread.
Set tracepoint.
trace [name] <linespec>
A tracepoint is a breakpoint that does not stop the execution of the program, instead when the tracepoint is hit a notification is displayed. See Documentation/cli/locspec.md for the syntax of linespec.
See also: "help on", "help cond" and "help clear"
Aliases: t
Print list of types
types [<regex>]
If regex is specified only the types matching it will be returned.
Move the current frame up.
up [] up []
Move the current frame up by . The second form runs the command on the given frame.
Print package variables.
vars [-v] [<regex>]
If regex is specified only package variables with a name matching it will be returned. If -v is specified more information about each package variable will be shown.
Prints type of an expression.
whatis <expression>.