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

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

D
Derek Parker 已提交
5
DBG is a Go debugger, written primarily in Go. It really needs a new name.
D
Derek Parker 已提交
6

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

D
Derek Parker 已提交
9
Currently, DBG requires the following [patch](https://codereview.appspot.com/117280043/), however this change is vendored until Go 1.4 lands.
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

D
Derek Parker 已提交
23 24 25 26
The debugger can be launched in two ways:

* Provide the name of the program you want to debug, and the debugger will launch it for you.
	
D
Derek Parker 已提交
27
	```
D
Derek Parker 已提交
28
	$ dbg -proc path/to/program
D
Derek Parker 已提交
29
	```
D
Derek Parker 已提交
30 31 32

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

D
Derek Parker 已提交
33
	```
D
Derek Parker 已提交
34
	$ sudo dbg -pid 44839
D
Derek Parker 已提交
35
	```
D
Derek Parker 已提交
36 37 38

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

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

D
Derek Parker 已提交
41
* `step` - Single step through program.
D
Derek Parker 已提交
42

D
Derek Parker 已提交
43
* `next` - Step over to next source line.
D
Derek Parker 已提交
44 45 46

### Upcoming features

D
Derek Parker 已提交
47
* Handle Gos multithreaded nature better
D
Derek Parker 已提交
48 49
* In-scope variable evaluation
* In-scope variable setting
D
Derek Parker 已提交
50
* Support for OS X
D
Derek Parker 已提交
51 52

### License
D
Derek Parker 已提交
53 54

MIT