закешированный к нам в целях безопасности дебаггер
Go to file
2014-08-27 17:51:56 -05:00
_fixtures Launch prog from cli, also exit cleanly 2014-08-23 08:20:56 -05:00
_helper Implement initial next implementation 2014-07-07 08:26:36 -05:00
command Launch prog from cli, also exit cleanly 2014-08-23 08:20:56 -05:00
dwarf Remove dead test 2014-08-07 11:04:07 -05:00
proctl Don't rely on process.Wait(), instead use syscall 2014-08-27 17:47:04 -05:00
.gitignore Ignore test artifacts 2014-08-04 17:49:36 -05:00
LICENSE Add License and README 2014-05-03 15:31:52 -05:00
main_test.go Assert Signaled() and proc string 2014-08-26 08:23:24 -05:00
main.go Launch prog from cli, also exit cleanly 2014-08-23 08:20:56 -05:00
README.md Update README 2014-08-27 17:51:56 -05:00

DBG

What is DBG?

DBG is a Go debugger, written primarily in Go. It really needs a new name.

Building

Currently, DBG requires the following patch to be applied to your Go source to build.

Features

  • Attach to (trace) a running process
  • Ability to launch a process and begin debugging it
  • 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

Usage

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.

    $ dbg -proc path/to/program

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

    $ dbg -pid 44839

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.

  • step - Single step through program.

  • next - Step over to next source line.

Upcoming features

  • Handle Gos multithreaded nature better (follow goroutine accross thread contexts)
  • In-scope variable evaluation
  • In-scope variable setting
  • Readline integration
  • Ability to launch debugging session from debugged program, with breakpoint set correctly
  • Support for OS X

License

MIT