gitlab.com/Raven-IO/raven-delve@v1.22.4/Documentation/cli/README.md (about)

     1  # Configuration and Command History
     2  
     3  If `$XDG_CONFIG_HOME` is set, then configuration and command history files are located in `$XDG_CONFIG_HOME/dlv`. Otherwise, they are located in `$HOME/.config/dlv` on Linux and `$HOME/.dlv` on other systems.
     4  
     5  The configuration file `config.yml` contains all the configurable options and their default values. The command history is stored in `.dbg_history`.
     6  
     7  # Commands
     8  
     9  ## Running the program
    10  
    11  Command | Description
    12  --------|------------
    13  [call](#call) | Resumes process, injecting a function call (EXPERIMENTAL!!!)
    14  [continue](#continue) | Run until breakpoint or program termination.
    15  [next](#next) | Step over to next source line.
    16  [next-instruction](#next-instruction) | Single step a single cpu instruction, skipping function calls.
    17  [rebuild](#rebuild) | Rebuild the target executable and restarts it. It does not work if the executable was not built by delve.
    18  [restart](#restart) | Restart process.
    19  [rev](#rev) | Reverses the execution of the target program for the command specified.
    20  [rewind](#rewind) | Run backwards until breakpoint or start of recorded history.
    21  [step](#step) | Single step through program.
    22  [step-instruction](#step-instruction) | Single step a single cpu instruction.
    23  [stepout](#stepout) | Step out of the current function.
    24  
    25  
    26  ## Manipulating breakpoints
    27  
    28  Command | Description
    29  --------|------------
    30  [break](#break) | Sets a breakpoint.
    31  [breakpoints](#breakpoints) | Print out info for active breakpoints.
    32  [clear](#clear) | Deletes breakpoint.
    33  [clearall](#clearall) | Deletes multiple breakpoints.
    34  [condition](#condition) | Set breakpoint condition.
    35  [on](#on) | Executes a command when a breakpoint is hit.
    36  [toggle](#toggle) | Toggles on or off a breakpoint.
    37  [trace](#trace) | Set tracepoint.
    38  [watch](#watch) | Set watchpoint.
    39  
    40  
    41  ## Viewing program variables and memory
    42  
    43  Command | Description
    44  --------|------------
    45  [args](#args) | Print function arguments.
    46  [display](#display) | Print value of an expression every time the program stops.
    47  [examinemem](#examinemem) | Examine raw memory at the given address.
    48  [locals](#locals) | Print local variables.
    49  [print](#print) | Evaluate an expression.
    50  [regs](#regs) | Print contents of CPU registers.
    51  [set](#set) | Changes the value of a variable.
    52  [vars](#vars) | Print package variables.
    53  [whatis](#whatis) | Prints type of an expression.
    54  
    55  
    56  ## Listing and switching between threads and goroutines
    57  
    58  Command | Description
    59  --------|------------
    60  [goroutine](#goroutine) | Shows or changes current goroutine
    61  [goroutines](#goroutines) | List program goroutines.
    62  [thread](#thread) | Switch to the specified thread.
    63  [threads](#threads) | Print out info for every traced thread.
    64  
    65  
    66  ## Viewing the call stack and selecting frames
    67  
    68  Command | Description
    69  --------|------------
    70  [deferred](#deferred) | Executes command in the context of a deferred call.
    71  [down](#down) | Move the current frame down.
    72  [frame](#frame) | Set the current frame, or execute command on a different frame.
    73  [stack](#stack) | Print stack trace.
    74  [up](#up) | Move the current frame up.
    75  
    76  
    77  ## Other commands
    78  
    79  Command | Description
    80  --------|------------
    81  [check](#check) | Creates a checkpoint at the current position.
    82  [checkpoints](#checkpoints) | Print out info for existing checkpoints.
    83  [clear-checkpoint](#clear-checkpoint) | Deletes checkpoint.
    84  [config](#config) | Changes configuration parameters.
    85  [disassemble](#disassemble) | Disassembler.
    86  [dump](#dump) | Creates a core dump from the current process state
    87  [edit](#edit) | Open where you are in $DELVE_EDITOR or $EDITOR
    88  [exit](#exit) | Exit the debugger.
    89  [funcs](#funcs) | Print list of functions.
    90  [help](#help) | Prints the help message.
    91  [libraries](#libraries) | List loaded dynamic libraries
    92  [list](#list) | Show source code.
    93  [packages](#packages) | Print list of packages.
    94  [source](#source) | Executes a file containing a list of delve commands
    95  [sources](#sources) | Print list of source files.
    96  [target](#target) | Manages child process debugging.
    97  [transcript](#transcript) | Appends command output to a file.
    98  [types](#types) | Print list of types
    99  
   100  ## args
   101  Print function arguments.
   102  
   103  	[goroutine <n>] [frame <m>] args [-v] [<regex>]
   104  
   105  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.
   106  
   107  
   108  ## break
   109  Sets a breakpoint.
   110  
   111  	break [name] [locspec] [if <condition>]
   112  
   113  Locspec is a location specifier in the form of:
   114  
   115    * *<address> Specifies the location of memory address address. address can be specified as a decimal, hexadecimal or octal number
   116    * <filename>:<line> Specifies the line in filename. filename can be the partial path to a file or even just the base name as long as the expression remains unambiguous.
   117    * <line> Specifies the line in the current file
   118    * +<offset> Specifies the line offset lines after the current one
   119    * -<offset> Specifies the line offset lines before the current one
   120    * <function>[:<line>] Specifies the line inside function.
   121        The full syntax for function is <package>.(*<receiver type>).<function name> however the only required element is the function name,
   122        everything else can be omitted as long as the expression remains unambiguous. For setting a breakpoint on an init function (ex: main.init),
   123        the <filename>:<line> syntax should be used to break in the correct init function at the correct location.
   124    * /<regex>/ Specifies the location of all the functions matching regex
   125  
   126  If locspec is omitted a breakpoint will be set on the current line.
   127  
   128  If you would like to assign a name to the breakpoint you can do so with the form:
   129  
   130    break mybpname main.go:4
   131  
   132  Finally, you can assign a condition to the newly created breakpoint by using the 'if' postfix form, like so:
   133  
   134    break main.go:55 if i == 5
   135  
   136  Alternatively you can set a condition on a breakpoint after created by using the 'on' command.
   137  
   138  See also: "help on", "help cond" and "help clear"
   139  
   140  Aliases: b
   141  
   142  ## breakpoints
   143  Print out info for active breakpoints.
   144  	
   145  	breakpoints [-a]
   146  
   147  Specifying -a prints all physical breakpoint, including internal breakpoints.
   148  
   149  Aliases: bp
   150  
   151  ## call
   152  Resumes process, injecting a function call (EXPERIMENTAL!!!)
   153  	
   154  	call [-unsafe] <function call expression>
   155  	
   156  Current limitations:
   157  - only pointers to stack-allocated objects can be passed as argument.
   158  - only some automatic type conversions are supported.
   159  - functions can only be called on running goroutines that are not
   160    executing the runtime.
   161  - the current goroutine needs to have at least 256 bytes of free space on
   162    the stack.
   163  - functions can only be called when the goroutine is stopped at a safe
   164    point.
   165  - calling a function will resume execution of all goroutines.
   166  - only supported on linux's native backend.
   167  
   168  
   169  
   170  ## check
   171  Creates a checkpoint at the current position.
   172  
   173  	checkpoint [note]
   174  
   175  The "note" is arbitrary text that can be used to identify the checkpoint, if it is not specified it defaults to the current filename:line position.
   176  
   177  Aliases: checkpoint
   178  
   179  ## checkpoints
   180  Print out info for existing checkpoints.
   181  
   182  
   183  ## clear
   184  Deletes breakpoint.
   185  
   186  	clear <breakpoint name or id>
   187  
   188  
   189  ## clear-checkpoint
   190  Deletes checkpoint.
   191  
   192  	clear-checkpoint <id>
   193  
   194  Aliases: clearcheck
   195  
   196  ## clearall
   197  Deletes multiple breakpoints.
   198  
   199  	clearall [<locspec>]
   200  
   201  If called with the locspec argument it will delete all the breakpoints matching the locspec. If locspec is omitted all breakpoints are deleted.
   202  
   203  
   204  ## condition
   205  Set breakpoint condition.
   206  
   207  	condition <breakpoint name or id> <boolean expression>.
   208  	condition -hitcount <breakpoint name or id> <operator> <argument>.
   209  	condition -per-g-hitcount <breakpoint name or id> <operator> <argument>.
   210  	condition -clear <breakpoint name or id>.
   211  
   212  Specifies that the breakpoint, tracepoint or watchpoint should break only if the boolean expression is true.
   213  
   214  See [Documentation/cli/expr.md](//github.com/go-delve/delve/tree/master/Documentation/cli/expr.md) for a description of supported expressions.
   215  
   216  With the -hitcount option a condition on the breakpoint hit count can be set, the following operators are supported
   217  
   218  	condition -hitcount bp > n
   219  	condition -hitcount bp >= n
   220  	condition -hitcount bp < n
   221  	condition -hitcount bp <= n
   222  	condition -hitcount bp == n
   223  	condition -hitcount bp != n
   224  	condition -hitcount bp % n
   225  
   226  The -per-g-hitcount option works like -hitcount, but use per goroutine hitcount to compare with n.
   227  
   228  With the -clear option a condition on the breakpoint can removed.
   229  	
   230  The '% n' form means we should stop at the breakpoint when the hitcount is a multiple of n.
   231  
   232  Examples:
   233  
   234  	cond 2 i == 10				breakpoint 2 will stop when variable i equals 10
   235  	cond name runtime.curg.goid == 5	breakpoint 'name' will stop only on goroutine 5
   236  	cond -clear 2				the condition on breakpoint 2 will be removed
   237  
   238  
   239  Aliases: cond
   240  
   241  ## config
   242  Changes configuration parameters.
   243  
   244  	config -list
   245  
   246  Show all configuration parameters.
   247  
   248  	config -save
   249  
   250  Saves the configuration file to disk, overwriting the current configuration file.
   251  
   252  	config <parameter> <value>
   253  
   254  Changes the value of a configuration parameter.
   255  
   256  	config substitute-path <from> <to>
   257  	config substitute-path <from>
   258  	config substitute-path -clear
   259  
   260  Adds or removes a path substitution rule, if -clear is used all
   261  substitute-path rules are removed. Without arguments shows the current list
   262  of substitute-path rules.
   263  See also [Documentation/cli/substitutepath.md](//github.com/go-delve/delve/tree/master/Documentation/cli/substitutepath.md) for how the rules are applied.
   264  
   265  	config alias <command> <alias>
   266  	config alias <alias>
   267  
   268  Defines <alias> as an alias to <command> or removes an alias.
   269  
   270  	config debug-info-directories -add <path>
   271  	config debug-info-directories -rm <path>
   272  	config debug-info-directories -clear
   273  
   274  Adds, removes or clears debug-info-directories.
   275  
   276  
   277  ## continue
   278  Run until breakpoint or program termination.
   279  
   280  	continue [<locspec>]
   281  
   282  Optional locspec argument allows you to continue until a specific location is reached. The program will halt if a breakpoint is hit before reaching the specified location.
   283  
   284  For example:
   285  
   286  	continue main.main
   287  	continue encoding/json.Marshal
   288  
   289  
   290  Aliases: c
   291  
   292  ## deferred
   293  Executes command in the context of a deferred call.
   294  
   295  	deferred <n> <command>
   296  
   297  Executes the specified command (print, args, locals) in the context of the n-th deferred call in the current frame.
   298  
   299  
   300  ## disassemble
   301  Disassembler.
   302  
   303  	[goroutine <n>] [frame <m>] disassemble [-a <start> <end>] [-l <locspec>]
   304  
   305  If no argument is specified the function being executed in the selected stack frame will be executed.
   306  
   307  	-a <start> <end>	disassembles the specified address range
   308  	-l <locspec>		disassembles the specified function
   309  
   310  Aliases: disass
   311  
   312  ## display
   313  Print value of an expression every time the program stops.
   314  
   315  	display -a [%format] <expression>
   316  	display -d <number>
   317  
   318  The '-a' option adds an expression to the list of expression printed every time the program stops. The '-d' option removes the specified expression from the list.
   319  
   320  If display is called without arguments it will print the value of all expression in the list.
   321  
   322  
   323  ## down
   324  Move the current frame down.
   325  
   326  	down [<m>]
   327  	down [<m>] <command>
   328  
   329  Move the current frame down by <m>. The second form runs the command on the given frame.
   330  
   331  
   332  ## dump
   333  Creates a core dump from the current process state
   334  
   335  	dump <output file>
   336  
   337  The core dump is always written in ELF, even on systems (windows, macOS) where this is not customary. For environments other than linux/amd64 threads and registers are dumped in a format that only Delve can read back.
   338  
   339  
   340  ## edit
   341  Open where you are in $DELVE_EDITOR or $EDITOR
   342  
   343  	edit [locspec]
   344  	
   345  If locspec is omitted edit will open the current source file in the editor, otherwise it will open the specified location.
   346  
   347  Aliases: ed
   348  
   349  ## examinemem
   350  Examine raw memory at the given address.
   351  
   352  Examine memory:
   353  
   354  	examinemem [-fmt <format>] [-count|-len <count>] [-size <size>] <address>
   355  	examinemem [-fmt <format>] [-count|-len <count>] [-size <size>] -x <expression>
   356  
   357  Format represents the data format and the value is one of this list (default hex): bin(binary), oct(octal), dec(decimal), hex(hexadecimal).
   358  Length is the number of bytes (default 1) and must be less than or equal to 1000.
   359  Address is the memory location of the target to examine. Please note '-len' is deprecated by '-count and -size'.
   360  Expression can be an integer expression or pointer value of the memory location to examine.
   361  
   362  For example:
   363  
   364      x -fmt hex -count 20 -size 1 0xc00008af38
   365      x -fmt hex -count 20 -size 1 -x 0xc00008af38 + 8
   366      x -fmt hex -count 20 -size 1 -x &myVar
   367      x -fmt hex -count 20 -size 1 -x myPtrVar
   368  
   369  Aliases: x
   370  
   371  ## exit
   372  Exit the debugger.
   373  		
   374  	exit [-c]
   375  	
   376  When connected to a headless instance started with the --accept-multiclient, pass -c to resume the execution of the target process before disconnecting.
   377  
   378  Aliases: quit q
   379  
   380  ## frame
   381  Set the current frame, or execute command on a different frame.
   382  
   383  	frame <m>
   384  	frame <m> <command>
   385  
   386  The first form sets frame used by subsequent commands such as "print" or "set".
   387  The second form runs the command on the given frame.
   388  
   389  
   390  ## funcs
   391  Print list of functions.
   392  
   393  	funcs [<regex>]
   394  
   395  If regex is specified only the functions matching it will be returned.
   396  
   397  
   398  ## goroutine
   399  Shows or changes current goroutine
   400  
   401  	goroutine
   402  	goroutine <id>
   403  	goroutine <id> <command>
   404  
   405  Called without arguments it will show information about the current goroutine.
   406  Called with a single argument it will switch to the specified goroutine.
   407  Called with more arguments it will execute a command on the specified goroutine.
   408  
   409  Aliases: gr
   410  
   411  ## goroutines
   412  List program goroutines.
   413  
   414  	goroutines [-u|-r|-g|-s] [-t [depth]] [-l] [-with loc expr] [-without loc expr] [-group argument] [-chan expr] [-exec command]
   415  
   416  Print out info for every goroutine. The flag controls what information is shown along with each goroutine:
   417  
   418  	-u	displays location of topmost stackframe in user code (default)
   419  	-r	displays location of topmost stackframe (including frames inside private runtime functions)
   420  	-g	displays location of go instruction that created the goroutine
   421  	-s	displays location of the start function
   422  	-t	displays goroutine's stacktrace (an optional depth value can be specified, default: 10)
   423  	-l	displays goroutine's labels
   424  
   425  If no flag is specified the default is -u, i.e. the first frame within the first 30 frames that is not executing a runtime private function.
   426  
   427  FILTERING
   428  
   429  If -with or -without are specified only goroutines that match the given condition are returned.
   430  
   431  To only display goroutines where the specified location contains (or does not contain, for -without and -wo) expr as a substring, use:
   432  
   433  	goroutines -with (userloc|curloc|goloc|startloc) expr
   434  	goroutines -w (userloc|curloc|goloc|startloc) expr
   435  	goroutines -without (userloc|curloc|goloc|startloc) expr
   436  	goroutines -wo (userloc|curloc|goloc|startloc) expr
   437  
   438  	Where:
   439  	userloc: filter by the location of the topmost stackframe in user code
   440  	curloc: filter by the location of the topmost stackframe (including frames inside private runtime functions)
   441  	goloc: filter by the location of the go instruction that created the goroutine
   442  	startloc: filter by the location of the start function
   443  	
   444  To only display goroutines that have (or do not have) the specified label key and value, use:
   445  
   446  	goroutines -with label key=value
   447  	goroutines -without label key=value
   448  	
   449  To only display goroutines that have (or do not have) the specified label key, use:
   450  
   451  	goroutines -with label key
   452  	goroutines -without label key
   453  	
   454  To only display goroutines that are running (or are not running) on a OS thread, use:
   455  
   456  
   457  	goroutines -with running
   458  	goroutines -without running
   459  	
   460  To only display user (or runtime) goroutines, use:
   461  
   462  	goroutines -with user
   463  	goroutines -without user
   464  
   465  CHANNELS
   466  	
   467  To only show goroutines waiting to send to or receive from a specific channel use:
   468  
   469  	goroutines -chan expr
   470  	
   471  Note that 'expr' must not contain spaces.
   472  
   473  GROUPING
   474  
   475  	goroutines -group (userloc|curloc|goloc|startloc|running|user)
   476  
   477  	Where:
   478  	userloc: groups goroutines by the location of the topmost stackframe in user code
   479  	curloc: groups goroutines by the location of the topmost stackframe
   480  	goloc: groups goroutines by the location of the go instruction that created the goroutine
   481  	startloc: groups goroutines by the location of the start function
   482  	running: groups goroutines by whether they are running or not
   483  	user: groups goroutines by weather they are user or runtime goroutines
   484  
   485  
   486  Groups goroutines by the given location, running status or user classification, up to 5 goroutines per group will be displayed as well as the total number of goroutines in the group.
   487  
   488  	goroutines -group label key
   489  
   490  Groups goroutines by the value of the label with the specified key.
   491  
   492  EXEC
   493  
   494  	goroutines -exec <command>
   495  
   496  Runs the command on every goroutine.
   497  
   498  
   499  Aliases: grs
   500  
   501  ## help
   502  Prints the help message.
   503  
   504  	help [command]
   505  
   506  Type "help" followed by the name of a command for more information about it.
   507  
   508  Aliases: h
   509  
   510  ## libraries
   511  List loaded dynamic libraries
   512  
   513  
   514  ## list
   515  Show source code.
   516  
   517  	[goroutine <n>] [frame <m>] list [<locspec>]
   518  
   519  Show source around current point or provided locspec.
   520  
   521  For example:
   522  
   523  	frame 1 list 69
   524  	list testvariables.go:10000
   525  	list main.main:30
   526  	list 40
   527  
   528  Aliases: ls l
   529  
   530  ## locals
   531  Print local variables.
   532  
   533  	[goroutine <n>] [frame <m>] locals [-v] [<regex>]
   534  
   535  The name of variables that are shadowed in the current scope will be shown in parenthesis.
   536  
   537  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.
   538  
   539  
   540  ## next
   541  Step over to next source line.
   542  
   543  	next [count]
   544  
   545  Optional [count] argument allows you to skip multiple lines.
   546  
   547  
   548  Aliases: n
   549  
   550  ## next-instruction
   551  Single step a single cpu instruction, skipping function calls.
   552  
   553  Aliases: ni nexti
   554  
   555  ## on
   556  Executes a command when a breakpoint is hit.
   557  
   558  	on <breakpoint name or id> <command>
   559  	on <breakpoint name or id> -edit
   560  	
   561  
   562  Supported commands: print, stack, goroutine, trace and cond. 
   563  To convert a breakpoint into a tracepoint use:
   564  	
   565  	on <breakpoint name or id> trace
   566  
   567  The command 'on <bp> cond <cond-arguments>' is equivalent to 'cond <bp> <cond-arguments>'.
   568  
   569  The command 'on x -edit' can be used to edit the list of commands executed when the breakpoint is hit.
   570  
   571  
   572  ## packages
   573  Print list of packages.
   574  
   575  	packages [<regex>]
   576  
   577  If regex is specified only the packages matching it will be returned.
   578  
   579  
   580  ## print
   581  Evaluate an expression.
   582  
   583  	[goroutine <n>] [frame <m>] print [%format] <expression>
   584  
   585  See [Documentation/cli/expr.md](//github.com/go-delve/delve/tree/master/Documentation/cli/expr.md) for a description of supported expressions.
   586  
   587  The optional format argument is a format specifier, like the ones used by the fmt package. For example "print %x v" will print v as an hexadecimal number.
   588  
   589  Aliases: p
   590  
   591  ## rebuild
   592  Rebuild the target executable and restarts it. It does not work if the executable was not built by delve.
   593  
   594  
   595  ## regs
   596  Print contents of CPU registers.
   597  
   598  	regs [-a]
   599  
   600  Argument -a shows more registers. Individual registers can also be displayed by 'print' and 'display'. See [Documentation/cli/expr.md](//github.com/go-delve/delve/tree/master/Documentation/cli/expr.md).
   601  
   602  
   603  ## restart
   604  Restart process.
   605  
   606  For recorded targets the command takes the following forms:
   607  
   608  	restart					resets to the start of the recording
   609  	restart [checkpoint]			resets the recording to the given checkpoint
   610  	restart -r [newargv...]	[redirects...]	re-records the target process
   611  	
   612  For live targets the command takes the following forms:
   613  
   614  	restart [newargv...] [redirects...]	restarts the process
   615  
   616  If newargv is omitted the process is restarted (or re-recorded) with the same argument vector.
   617  If -noargs is specified instead, the argument vector is cleared.
   618  
   619  A list of file redirections can be specified after the new argument list to override the redirections defined using the '--redirect' command line option. A syntax similar to Unix shells is used:
   620  
   621  	<input.txt	redirects the standard input of the target process from input.txt
   622  	>output.txt	redirects the standard output of the target process to output.txt
   623  	2>error.txt	redirects the standard error of the target process to error.txt
   624  
   625  
   626  Aliases: r
   627  
   628  ## rev
   629  Reverses the execution of the target program for the command specified.
   630  Currently, rev next, step, step-instruction and stepout commands are supported.
   631  
   632  
   633  ## rewind
   634  Run backwards until breakpoint or start of recorded history.
   635  
   636  Aliases: rw
   637  
   638  ## set
   639  Changes the value of a variable.
   640  
   641  	[goroutine <n>] [frame <m>] set <variable> = <value>
   642  
   643  See [Documentation/cli/expr.md](//github.com/go-delve/delve/tree/master/Documentation/cli/expr.md) for a description of supported expressions. Only numerical variables and pointers can be changed.
   644  
   645  
   646  ## source
   647  Executes a file containing a list of delve commands
   648  
   649  	source <path>
   650  	
   651  If path ends with the .star extension it will be interpreted as a starlark script. See [Documentation/cli/starlark.md](//github.com/go-delve/delve/tree/master/Documentation/cli/starlark.md) for the syntax.
   652  
   653  If path is a single '-' character an interactive starlark interpreter will start instead. Type 'exit' to exit.
   654  
   655  
   656  ## sources
   657  Print list of source files.
   658  
   659  	sources [<regex>]
   660  
   661  If regex is specified only the source files matching it will be returned.
   662  
   663  
   664  ## stack
   665  Print stack trace.
   666  
   667  	[goroutine <n>] [frame <m>] stack [<depth>] [-full] [-offsets] [-defer] [-a <n>] [-adepth <depth>] [-mode <mode>]
   668  
   669  	-full		every stackframe is decorated with the value of its local variables and arguments.
   670  	-offsets	prints frame offset of each frame.
   671  	-defer		prints deferred function call stack for each frame.
   672  	-a <n>		prints stacktrace of n ancestors of the selected goroutine (target process must have tracebackancestors enabled)
   673  	-adepth <depth>	configures depth of ancestor stacktrace
   674  	-mode <mode>	specifies the stacktrace mode, possible values are:
   675  			normal	- attempts to automatically switch between cgo frames and go frames
   676  			simple	- disables automatic switch between cgo and go
   677  			fromg	- starts from the registers stored in the runtime.g struct
   678  
   679  
   680  Aliases: bt
   681  
   682  ## step
   683  Single step through program.
   684  
   685  Aliases: s
   686  
   687  ## step-instruction
   688  Single step a single cpu instruction.
   689  
   690  Aliases: si stepi
   691  
   692  ## stepout
   693  Step out of the current function.
   694  
   695  Aliases: so
   696  
   697  ## target
   698  Manages child process debugging.
   699  
   700  	target follow-exec [-on [regex]] [-off]
   701  
   702  Enables or disables follow exec mode. When follow exec mode Delve will automatically attach to new child processes executed by the target process. An optional regular expression can be passed to 'target follow-exec', only child processes with a command line matching the regular expression will be followed.
   703  
   704  	target list
   705  
   706  List currently attached processes.
   707  
   708  	target switch [pid]
   709  
   710  Switches to the specified process.
   711  
   712  
   713  ## thread
   714  Switch to the specified thread.
   715  
   716  	thread <id>
   717  
   718  Aliases: tr
   719  
   720  ## threads
   721  Print out info for every traced thread.
   722  
   723  
   724  ## toggle
   725  Toggles on or off a breakpoint.
   726  
   727  toggle <breakpoint name or id>
   728  
   729  
   730  ## trace
   731  Set tracepoint.
   732  
   733  	trace [name] [locspec]
   734  
   735  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](//github.com/go-delve/delve/tree/master/Documentation/cli/locspec.md) for the syntax of locspec. If locspec is omitted a tracepoint will be set on the current line.
   736  
   737  See also: "help on", "help cond" and "help clear"
   738  
   739  Aliases: t
   740  
   741  ## transcript
   742  Appends command output to a file.
   743  
   744  	transcript [-t] [-x] <output file>
   745  	transcript -off
   746  
   747  Output of Delve's command is appended to the specified output file. If '-t' is specified and the output file exists it is truncated. If '-x' is specified output to stdout is suppressed instead.
   748  
   749  Using the -off option disables the transcript.
   750  
   751  
   752  ## types
   753  Print list of types
   754  
   755  	types [<regex>]
   756  
   757  If regex is specified only the types matching it will be returned.
   758  
   759  
   760  ## up
   761  Move the current frame up.
   762  
   763  	up [<m>]
   764  	up [<m>] <command>
   765  
   766  Move the current frame up by <m>. The second form runs the command on the given frame.
   767  
   768  
   769  ## vars
   770  Print package variables.
   771  
   772  	vars [-v] [<regex>]
   773  
   774  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.
   775  
   776  
   777  ## watch
   778  Set watchpoint.
   779  	
   780  	watch [-r|-w|-rw] <expr>
   781  	
   782  	-r	stops when the memory location is read
   783  	-w	stops when the memory location is written
   784  	-rw	stops when the memory location is read or written
   785  
   786  The memory location is specified with the same expression language used by 'print', for example:
   787  
   788  	watch v
   789  	watch -w *(*int)(0x1400007c018)
   790  
   791  will watch the address of variable 'v' and writes to an int at addr '0x1400007c018'.
   792  
   793  Note that writes that do not change the value of the watched memory address might not be reported.
   794  
   795  See also: "help print".
   796  
   797  
   798  ## whatis
   799  Prints type of an expression.
   800  
   801  	whatis <expression>
   802  
   803