README.md 1.3 KB
Newer Older
D
Derek Parker 已提交
1
# Delve
D
Derek Parker 已提交
2

D
Derek Parker 已提交
3
### What is Delve?
D
Derek Parker 已提交
4

D
Derek Parker 已提交
5
Delve is a Go debugger, written in Go.
D
Derek Parker 已提交
6

D
Derek Parker 已提交
7 8
### Building

D
Derek Parker 已提交
9
Currently, Delve requires the following [patch](https://codereview.appspot.com/117280043/), however this change is vendored until Go 1.4 lands, so the project is go get-able.
D
Derek Parker 已提交
10

D
Derek Parker 已提交
11 12 13 14 15 16
For invocation brevity, I prefer this:

```
$ go build -o dlv && mv dlv $GOPATH/bin
```

D
Derek Parker 已提交
17 18
### Features

D
Derek Parker 已提交
19 20 21
* Attach to an already running process
* Launch a process and begin debug session
* Set breakpoints, single step, step over functions, print variable contents
D
Derek Parker 已提交
22 23 24

### Usage

25 26
The debugger can be launched in three ways:

D
Derek Parker 已提交
27
* Compile, run, and attach in one step:
28 29

	```
D
Derek Parker 已提交
30
	$ dlv -run
31
	```
D
Derek Parker 已提交
32 33

* Provide the name of the program you want to debug, and the debugger will launch it for you.
D
Derek Parker 已提交
34

D
Derek Parker 已提交
35
	```
D
Derek Parker 已提交
36
	$ dlv -proc path/to/program
D
Derek Parker 已提交
37
	```
D
Derek Parker 已提交
38 39 40

* Provide the pid of a currently running process, and the debugger will attach and begin the session.

D
Derek Parker 已提交
41
	```
D
Derek Parker 已提交
42
	$ sudo dlv -pid 44839
D
Derek Parker 已提交
43
	```
D
Derek Parker 已提交
44 45 46

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

D
Derek Parker 已提交
47
* `break` - Set break point at the entry point of a function, or at a specific file/line. Example: `break foo.go:13`.
D
Derek Parker 已提交
48

J
Jack Christensen 已提交
49 50
* `continue` - Run until breakpoint or program termination.

D
Derek Parker 已提交
51
* `step` - Single step through program.
D
Derek Parker 已提交
52

D
Derek Parker 已提交
53
* `next` - Step over to next source line.
D
Derek Parker 已提交
54

D
Derek Parker 已提交
55 56
* `print $var` - Evaluate a variable.

D
Derek Parker 已提交
57 58 59
### Upcoming features

* In-scope variable setting
D
Derek Parker 已提交
60
* Support for OS X
D
Derek Parker 已提交
61 62

### License
D
Derek Parker 已提交
63 64

MIT