Thursday, 16 May 2019

go: Installing delve


Open terminal or command prompt and execute below command.
go get -u github.com/go-delve/delve/cmd/dlv

'dlv' is installed in {GOPATH}/bin directory

How to check whether ‘dlv’ command is installed or not?
Open terminal or command prompt and execute the command dlv, you can see below response.

$dlv
Delve is a source level debugger for Go programs.

Delve enables you to interact with your program by controlling the execution of the process,
evaluating variables, and providing information of thread / goroutine state, CPU register state and more.

The goal of this tool is to provide a simple yet powerful interface for debugging Go programs.

Pass flags to the program you are debugging using `--`, for example:

`dlv exec ./hello -- server --config conf/config.toml`

Usage:
  dlv [command]

Available Commands:
  attach      Attach to running process and begin debugging.
  connect     Connect to a headless debug server.
  core        Examine a core dump.
  debug       Compile and begin debugging main package in current directory, or the package specified.
  exec        Execute a precompiled binary, and begin a debug session.
  help        Help about any command
  run         Deprecated command. Use 'debug' instead.
  test        Compile test binary and begin debugging program.
  trace       Compile and begin tracing program.
  version     Prints version.

Flags:
      --accept-multiclient   Allows a headless server to accept multiple client connections. Note that the server API is not reentrant and clients will have to coordinate.
      --api-version int      Selects API version when headless. (default 1)
      --backend string       Backend selection:
        default         Uses lldb on macOS, native everywhere else.
        native          Native backend.
        lldb            Uses lldb-server or debugserver.
        rr              Uses mozilla rr (https://github.com/mozilla/rr).
 (default "default")
      --build-flags string   Build flags, to be passed to the compiler.
      --headless             Run debug server only, in headless mode.
      --init string          Init file, executed by the terminal client.
  -l, --listen string        Debugging server listen address. (default "localhost:0")
      --log                  Enable debugging server logging.
      --log-output string    Comma separated list of components that should produce debug output, possible values:
        debugger        Log debugger commands
        gdbwire         Log connection to gdbserial backend
        lldbout         Copy output from debugserver/lldb to standard output
        debuglineerr    Log recoverable errors reading .debug_line
        rpc             Log all RPC messages
        fncall          Log function call protocol
        minidump        Log minidump loading
Defaults to "debugger" when logging is enabled with --log.
      --wd string            Working directory for running the program. (default ".")

Use "dlv [command] --help" for more information about a command.

dlv was not found on system PATH
When I installed dlv, it is installed in {GOPATH}/bin directory. You should set {GOPATH}/bin directory to your system path.

How to get {GOPATH}?
Execute the command ‘go env’

How to get dlv version?
Execute the command ‘dlv version’ to get delve version.

$dlv version
Delve Debugger
Version: 1.2.0
Build: $Id: 068e2451004e95d0b042e5257e34f0f08ce01466
  
Reference

Previous                                                 Next                                                 Home

No comments:

Post a Comment