закешированный к нам в целях безопасности дебаггер
Go to file
2014-11-13 09:39:08 -06:00
_fixtures Improve variable evaluation scope 2014-11-10 21:26:13 -06:00
cmd/dlv Allow ^D (EOF) to terminate the session. 2014-11-13 09:39:08 -06:00
command Handle missing line info in printcontext 2014-11-13 08:43:43 -06:00
dwarf Add command to print all goroutines info 2014-11-09 12:56:21 -06:00
goreadline fix readline support: window resizing 2014-11-10 07:06:33 -06:00
helper (Mostly) working multithreaded tracing implementation 2014-10-25 08:59:22 -05:00
proctl Seek reader for finding goroutine info 2014-11-13 08:36:20 -06:00
vendor Rename project 2014-10-15 09:28:22 -05:00
.gitignore ignore tags 2014-11-13 09:39:08 -06:00
LICENSE Add License and README 2014-05-03 15:31:52 -05:00
README.md Update README with libreadline dependency 2014-11-12 12:16:03 -06:00

Delve

What is Delve?

Delve is a Go debugger, written in Go.

Building

Currently, Delve requires the following patch, however this change is vendored until Go 1.4 lands, so the project is go get-able.

go get github.com/derekparker/delve/cmd/dlv

You will need readline installed on your system. With apt simply: sudo apt-get install libreadline-dev .

Features

  • Attach to an already running process
  • Launch a process and begin debug session
  • Set breakpoints, single step, step over functions, print variable contents, print thread and goroutine information

Usage

The debugger can be launched in three ways:

  • Compile, run, and attach in one step:

    $ dlv -run
    
  • Provide the name of the program you want to debug, and the debugger will launch it for you.

    $ dlv -proc path/to/program
    
  • Provide the pid of a currently running process, and the debugger will attach and begin the session.

    $ sudo dlv -pid 44839
    

Breakpoints

Delve can insert breakpoints via the breakpoint command once inside a debug session, however for ease of debugging, you can also call runtime.Breakpoint() and Delve will handle the breakpoint and stop the program at the next source line.

Commands

Once inside a debugging session, the following commands may be used:

  • break - Set break point at the entry point of a function, or at a specific file/line. Example: break foo.go:13.

  • continue - Run until breakpoint or program termination.

  • step - Single step through program.

  • next - Step over to next source line.

  • threads - Print status of all traced threads.

  • goroutines - Print status of all goroutines.

  • print $var - Evaluate a variable.

  • exit - Exit the debugger.

Upcoming features

  • In-scope variable setting
  • Support for OS X

License

MIT