73 Commits

Author SHA1 Message Date
72b81c0c6b Ensure process is stopped before detaching in tests 2015-06-24 18:33:38 -05:00
b35a743a3c Ensure thread is stopped before setting breakpoint
For hardware breakpoints we have to set them on every thread. It could
be the case that another thread is running. Stop it first, set the
breakpoint, then continue it.
2015-06-24 18:33:38 -05:00
014e20d8a6 proc: don't deref nil pointer if getG fails 2015-06-21 21:11:48 -05:00
b5483aa9cb Set GOMAXPROCS in proc_test
Makes for more deterministic test runs.
2015-06-21 21:11:48 -05:00
48bb398c4b Properly report process exits 2015-06-21 21:11:47 -05:00
687dc4172d Introduce JSON-RPC service 2015-06-21 21:11:30 -05:00
38f97b4023 Update documentation on Process.Breakpoints 2015-06-20 18:07:32 -05:00
6e538119d2 Refactor: Rename breakpoint methods
s/Break/SetBreakpoint/
s/Clear/ClearBreakpoint/
s/BreakByLocation/SetBreakpointByLocation/
2015-06-20 18:01:06 -05:00
102d4c89ae s/DebuggedProcess/Process/ 2015-06-20 17:54:52 -05:00
07473f04c5 Implement stack command
Finishes #63 #64
2015-06-20 15:29:33 -05:00
256c83b17b Implement regs command to print registers values, fixes #62 2015-06-19 14:27:01 -05:00
e3aade85ab Update Launch docs for Darwin 2015-06-19 08:15:54 -05:00
509c4839ae Update OSProcessDetails docs for Darwin 2015-06-19 08:14:56 -05:00
b018c6bc31 Update thread.Continue documentation 2015-06-19 08:08:25 -05:00
1201b3201d Remove unused thread methods 2015-06-19 08:05:23 -05:00
b7d4815d15 Update documentation 2015-06-17 22:01:31 -05:00
c720919b04 Update docs around thread.SetNextBreakpoints 2015-06-17 21:52:58 -05:00
37235bba7f Store hardware/software breakpoints in same struct 2015-06-17 18:14:56 -05:00
bb9fbe1056 Refactor: Use arch specific address sizes 2015-06-13 14:04:09 -05:00
e4fc5e32c2 Refactor: Use thread-locked goroutine for ptrace ops
Previously either the terminal client or the debugger service would
either lock main goroutine to a thread or provide a locked goroutine to
run _all_ DebuggedProcess functions in. This is unnecessary because only
ptrace functions need to be run from the same thread that originated the
PT_ATTACH request.

Here we use a specific thread-locked goroutine to service any ptrace
request. That goroutine is also responsible for the initial spawning /
attaching of the process, since it must be responsible for the PT_ATTACH
request.
2015-06-13 12:57:42 -05:00
a59c67b783 Update documentation for Thread struct 2015-06-12 14:53:20 -05:00
e5233e7262 Rename: s/ThreadContext/Thread/ 2015-06-12 14:51:23 -05:00
bfca6114d4 Rename package proctl -> proc 2015-06-12 14:49:23 -05:00