aarzilli
358fb75fc6
Return helpful error when attaching to a process is impossible
2015-06-27 23:21:26 -05:00
Derek Parker
29ed169848
Return error when invoking Delve with invalid path
...
Fixes #154
2015-06-26 23:05:15 -05:00
Derek Parker
24c024d1e6
Kill whitespace
2015-06-26 22:10:09 -05:00
aarzilli
d919114d32
Fix: Linux - call wait4 on thread grp leader is broken
...
On a thread that's leader of its group,
that is ptraced and that was survived by its children.
2015-06-26 22:10:09 -05:00
aarzilli
71fae8f5c6
Only clear and reset breakpoint for current thread
2015-06-26 22:03:50 -05:00
Derek Parker
9d1711d376
dbp.Running determined by any thread running
2015-06-26 09:58:26 -05:00
Derek Parker
db278d0453
Improve TestHalt reliability on Linux
2015-06-26 07:46:46 -05:00
Derek Parker
4f6c0de11f
Pad single digit line numbers in output
2015-06-26 07:32:11 -05:00
Derek Parker
4d8f5659ac
Fix source file context formatting
2015-06-25 07:46:02 -05:00
Derek Parker
5c29417348
Update gitignore -- ignore vagrant dir
2015-06-24 18:35:40 -05:00
Derek Parker
72b81c0c6b
Ensure process is stopped before detaching in tests
2015-06-24 18:33:38 -05:00
Derek Parker
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
Derek Parker
7c8fd02685
Remove HTTP server/client in favor of JSON-RPC
...
Instead of maintaining two separate client / server implementations,
maintain only the more lightweight JSON-RPC service. The reasoning
behind the merging of the original HTTP service was ease of tooling, in
other words low barrier of entry for external clients (editor
integrations, etc...).
I believe the JSON-RPC solution still satisfies that constraint while
have the advantage of being a more lightweight solution. HTTP, while
highly supported in most modern languages, carries with it too many
features we would never take advantage of. The RPC architecture seems
a more natural approach.
The infrastructure set up during the initial HTTP service implementation
was leveraged in the JSON-RPC implementation, so if any of those
original authors are reading this commit message: thank you for that
work, it was not in vain even if though the original HTTP service is not
being removed.
2015-06-24 08:08:48 -05:00
Derek Parker
6817bfc2ba
Update CONTRIBUTING doc
2015-06-21 22:06:12 -05:00
Derek Parker
3899fc0b6c
Relocate gitter badge
2015-06-21 21:59:10 -05:00
The Gitter Badger
db489355f1
Added Gitter badge
2015-06-22 02:38:33 +00:00
Michael Gehring
014e20d8a6
proc: don't deref nil pointer if getG fails
2015-06-21 21:11:48 -05:00
Derek Parker
b5483aa9cb
Set GOMAXPROCS in proc_test
...
Makes for more deterministic test runs.
2015-06-21 21:11:48 -05:00
Derek Parker
48bb398c4b
Properly report process exits
2015-06-21 21:11:47 -05:00
Derek Parker
687dc4172d
Introduce JSON-RPC service
2015-06-21 21:11:30 -05:00
Derek Parker
5642e0a106
Add nil check when following Else
in ast
...
Fixes #137
2015-06-21 11:48:22 -05:00
Derek Parker
38f97b4023
Update documentation on Process.Breakpoints
2015-06-20 18:07:32 -05:00
Derek Parker
6e538119d2
Refactor: Rename breakpoint methods
...
s/Break/SetBreakpoint/
s/Clear/ClearBreakpoint/
s/BreakByLocation/SetBreakpointByLocation/
2015-06-20 18:01:06 -05:00
Derek Parker
102d4c89ae
s/DebuggedProcess/Process/
2015-06-20 17:54:52 -05:00
Derek Parker
d265fa764f
Update Debugger documentation
2015-06-20 17:50:24 -05:00
aarzilli
07473f04c5
Implement stack command
...
Finishes #63 #64
2015-06-20 15:29:33 -05:00
Derek Parker
cc5e5c780c
Update "info" command help msg to include regs
2015-06-19 14:34:27 -05:00
Giulio Iotti
256c83b17b
Implement regs command to print registers values, fixes #62
2015-06-19 14:27:01 -05:00
Derek Parker
e3aade85ab
Update Launch docs for Darwin
2015-06-19 08:15:54 -05:00
Derek Parker
509c4839ae
Update OSProcessDetails docs for Darwin
2015-06-19 08:14:56 -05:00
Derek Parker
b018c6bc31
Update thread.Continue documentation
2015-06-19 08:08:25 -05:00
Derek Parker
1201b3201d
Remove unused thread methods
2015-06-19 08:05:23 -05:00
Derek Parker
b7d4815d15
Update documentation
2015-06-17 22:01:31 -05:00
Derek Parker
c720919b04
Update docs around thread.SetNextBreakpoints
2015-06-17 21:52:58 -05:00
Derek Parker
4a70f6af45
Update AddrForMember documentation.
2015-06-17 20:41:24 -05:00
Derek Parker
37235bba7f
Store hardware/software breakpoints in same struct
2015-06-17 18:14:56 -05:00
Derek Parker
0bdbe18b2b
Cleanup debug binary on exit
2015-06-13 18:16:09 -05:00
Derek Parker
62f721ac54
Un-export that which need not be exported
2015-06-13 14:13:26 -05:00
Derek Parker
bb9fbe1056
Refactor: Use arch specific address sizes
2015-06-13 14:04:09 -05:00
Derek Parker
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
Derek Parker
fe23036035
Update Makefile
2015-06-12 16:21:32 -05:00
Derek Parker
a59c67b783
Update documentation for Thread struct
2015-06-12 14:53:20 -05:00
Derek Parker
e5233e7262
Rename: s/ThreadContext/Thread/
2015-06-12 14:51:23 -05:00
Derek Parker
bfca6114d4
Rename package proctl -> proc
2015-06-12 14:49:23 -05:00
Derek Parker
a71f218e35
Rename: s/BreakPoint/Breakpoint/
2015-06-12 14:48:18 -05:00
Derek Parker
98e7089dd3
Move list of hardware breakpoints onto arch struct
...
Hardware breakpoints are by definition architecture dependant. Move them
off the DebuggedProcess struct and onto the associated arch struct.
2015-06-12 14:30:59 -05:00
Derek Parker
f5414a5e49
Improve documentation for DebuggedProcess
2015-06-12 14:12:50 -05:00
Derek Parker
fe19f3f20c
Rename: s/EvalSymbol/EvalVariable/
2015-06-12 14:04:14 -05:00
Derek Parker
f627044f67
Add documentation
2015-06-12 13:55:42 -05:00
Derek Parker
3fba1f7113
Correctly handle hardware breakpoints across threads
...
* Set hardware breakpoints on all existing threads
* Set hardware breakpoints on any new thread the spawns
Fixes #111
2015-06-11 22:46:06 -05:00