README.md 1.5 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 primarily 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
### Features

* Attach to (trace) a running process
D
Derek Parker 已提交
14
* Ability to launch a process and begin debugging it
D
Derek Parker 已提交
15 16 17 18
* Set breakpoints
* Single step through a process
* Next through a process (step over / out of subroutines)
* Never retype commands, empty line defaults to previous command
D
Derek Parker 已提交
19
* Readline integration
D
Derek Parker 已提交
20 21 22

### Usage

23 24 25 26 27
The debugger can be launched in three ways:

* Allow it to compile, run, and attach to a program:

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

* Provide the name of the program you want to debug, and the debugger will launch it for you.
	
D
Derek Parker 已提交
33
	```
D
Derek Parker 已提交
34
	$ dlv -proc path/to/program
D
Derek Parker 已提交
35
	```
D
Derek Parker 已提交
36 37 38

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

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

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

D
Derek Parker 已提交
45
* `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 已提交
46

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

D
Derek Parker 已提交
49
* `step` - Single step through program.
D
Derek Parker 已提交
50

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

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

D
Derek Parker 已提交
55 56
### Upcoming features

D
Derek Parker 已提交
57
* Handle Gos multithreaded nature better
D
Derek Parker 已提交
58 59
* In-scope variable evaluation
* In-scope variable setting
D
Derek Parker 已提交
60
* Support for OS X
D
Derek Parker 已提交
61 62

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

MIT