delve

module
v0.0.0-...-78daab7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 26, 2014 License: MIT

README

Delve

What is Delve?

Delve is a (Beta) Go debugger, written in Go.

This project is currently in beta. Most of the functionality is there, but there are various improvements to be made.

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 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
  • Editor integration
License

MIT

Directories

Path Synopsis
cmd
dlv
Package command implements functions for responding to user input and dispatching to appropriate backend commands.
Package command implements functions for responding to user input and dispatching to appropriate backend commands.
dwarf
frame
Package frame contains data structures and related functions for parsing and searching through Dwarf .debug_frame data.
Package frame contains data structures and related functions for parsing and searching through Dwarf .debug_frame data.
op
Package proctl provides functions for attaching to and manipulating a process during the debug session.
Package proctl provides functions for attaching to and manipulating a process during the debug session.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL