Commit Graph

29 Commits

Author SHA1 Message Date
Derek Parker
7073e1c7d0 Refactor next and trapWait 2015-04-23 11:39:46 -05:00
Derek Parker
91ebc8d132 Make trapWait method on DebuggedProcess 2015-04-23 10:42:28 -05:00
Derek Parker
6df90f325d Rename CurrentPC -> PC 2015-04-23 10:40:33 -05:00
Derek Parker
383e9c1c37 Cleanup reassignments 2015-04-23 10:30:27 -05:00
Derek Parker
b86f227ab6 Further improve documentation 2015-04-22 20:01:25 -05:00
Derek Parker
48d0703b4f Improve 'next' impl for non-go next'ing 2015-04-20 13:03:22 -05:00
Derek Parker
58db8322ef Improve chan / goroutine coordination
* Properly find next source line for goroutines blocked in chanrecv
* Refactor breakpoint clearing
* Refactor temp breakpoint setting
2015-04-19 17:15:34 -05:00
Derek Parker
e5a4a5ae9b Set CurrentBreakpoint on DebuggedProcess 2015-04-09 10:01:58 -05:00
Derek Parker
117d945897 Use curpc for ret offset 2015-04-03 11:55:58 -05:00
Derek Parker
1d99e03f83 Reduce exported members of DebuggedProcess struct 2015-04-03 11:10:35 -05:00
Derek Parker
e4426fa51f Return breakpoint directly from trapWait 2015-04-03 10:47:27 -05:00
Derek Parker
86e1530524 Improve next implementation
* Better tracking of current goroutine
* More efficient, eliminates superfluous step syscalls
* Handles concurrency and thread coordination better
2015-03-31 17:12:45 -05:00
Derek Parker
9f70f43f5c Update thread printing, now denotes current thread
Also refactored code a bit, removed printing functions from proctl
package and inlined them into command.
2015-03-11 18:08:20 -05:00
Ivar Gaitan
8b04d877a0 Handle process natural death a bit better 2015-03-06 17:03:08 -06:00
Derek Parker
0b3cf1cd15 Add command to print active breakpoints 2015-03-06 08:53:54 -06:00
Derek Parker
0ba45f8487 Cleanup 2015-02-28 21:14:22 -06:00
Derek Parker
2d2d70641e (Mostly) working on OS X 2015-02-27 15:03:06 -06:00
Derek Parker
daf5030023 slight cleanup 2015-02-17 12:27:47 -05:00
Derek Parker
aa8ad88965 Improve documentation 2015-02-02 16:09:56 -05:00
Paul Sbarra
58de1f7c85 migrate to go.sys subrepository
As of go version 1.4 the standard library syscall package is "locked
down" and code outside of the standard library is recommended to migrate
to the go.sys subrepository.

Reference: https://golang.org/s/go1.4-syscall
2015-01-25 22:43:47 -06:00
Derek Parker
fbbe9aaa5e Implement usage of hardware breakpoints
Currently only works for amd64 processors.
2015-01-12 21:56:25 -06:00
Derek Parker
c0ae1ee1c6 Remove erroneous fmt.Println calls 2015-01-10 14:33:49 -06:00
Derek Parker
bc39ddfbbc Handle SIGINT
Handle SIGINT by stopping the traced program and then displaying a
prompt to the user for commands. If the traced process is not running,
this is a noop.

Closes #30
2015-01-09 16:24:33 -06:00
epipho
709347512c Breakpoints now have ids. Consolidated location lookup logic 2015-01-01 08:23:55 -05:00
Derek Parker
9e8ac82104 Minor refactoring / code cleanup 2014-12-28 20:48:58 -06:00
Derek Parker
e0738c417c Remove helper file & further isolate linux code 2014-12-09 10:51:17 -06:00
Derek Parker
e784e5d56d Isolate linux specific memory reading in threads file 2014-12-08 17:56:02 -06:00
Derek Parker
e299dfde08 Isolate linux specific register getters / setters 2014-12-08 17:54:34 -06:00
Derek Parker
64e01bfed1 Begin thread code isolation 2014-12-08 17:40:59 -06:00