36 Commits

Author SHA1 Message Date
c414c72ec9 Return regs from saveRegisters function 2015-05-01 08:34:09 -05:00
f7632eb5b0 Restore stack after curG function call 2015-04-30 19:52:28 -05:00
2b5a9155e6 Use Arch struct for arch specific values 2015-04-29 12:07:27 -05:00
21dca7efeb Use seperate ID counter for temp breakpoints 2015-04-29 08:17:35 -05:00
19a98fb49c clean up error message 2015-04-28 09:03:43 -05:00
bb48ad52d3 Move generic register structs/funcs to own file 2015-04-28 09:01:28 -05:00
efd1f391f2 Fix: Darwin single step state setting 2015-04-25 14:53:55 -05:00
7073e1c7d0 Refactor next and trapWait 2015-04-23 11:39:46 -05:00
91ebc8d132 Make trapWait method on DebuggedProcess 2015-04-23 10:42:28 -05:00
6df90f325d Rename CurrentPC -> PC 2015-04-23 10:40:33 -05:00
383e9c1c37 Cleanup reassignments 2015-04-23 10:30:27 -05:00
b86f227ab6 Further improve documentation 2015-04-22 20:01:25 -05:00
48d0703b4f Improve 'next' impl for non-go next'ing 2015-04-20 13:03:22 -05:00
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
e5a4a5ae9b Set CurrentBreakpoint on DebuggedProcess 2015-04-09 10:01:58 -05:00
117d945897 Use curpc for ret offset 2015-04-03 11:55:58 -05:00
1d99e03f83 Reduce exported members of DebuggedProcess struct 2015-04-03 11:10:35 -05:00
e4426fa51f Return breakpoint directly from trapWait 2015-04-03 10:47:27 -05:00
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
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
8b04d877a0 Handle process natural death a bit better 2015-03-06 17:03:08 -06:00
0b3cf1cd15 Add command to print active breakpoints 2015-03-06 08:53:54 -06:00
0ba45f8487 Cleanup 2015-02-28 21:14:22 -06:00
2d2d70641e (Mostly) working on OS X 2015-02-27 15:03:06 -06:00
daf5030023 slight cleanup 2015-02-17 12:27:47 -05:00
aa8ad88965 Improve documentation 2015-02-02 16:09:56 -05:00
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
fbbe9aaa5e Implement usage of hardware breakpoints
Currently only works for amd64 processors.
2015-01-12 21:56:25 -06:00
c0ae1ee1c6 Remove erroneous fmt.Println calls 2015-01-10 14:33:49 -06:00
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
709347512c Breakpoints now have ids. Consolidated location lookup logic 2015-01-01 08:23:55 -05:00
9e8ac82104 Minor refactoring / code cleanup 2014-12-28 20:48:58 -06:00
e0738c417c Remove helper file & further isolate linux code 2014-12-09 10:51:17 -06:00
e784e5d56d Isolate linux specific memory reading in threads file 2014-12-08 17:56:02 -06:00
e299dfde08 Isolate linux specific register getters / setters 2014-12-08 17:54:34 -06:00
64e01bfed1 Begin thread code isolation 2014-12-08 17:40:59 -06:00