Commit Graph

685 Commits

Author SHA1 Message Date
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
Derek Parker
d66dfbef54 Do not shadow err var in typecast 2015-06-11 22:25:05 -05:00
Derek Parker
d59ef1371b Set CurrentThread after printing thread switch 2015-06-11 22:16:18 -05:00
Derek Parker
19e0e50062 Cleanup documentation 2015-06-11 15:34:01 -05:00
Derek Parker
a1d0ced6f9 Insert raw instructions for G addr in TLS
* Remove half baked CallFn implementation.
* Cleanup whitespace
* Cleanup read/write mem functions
2015-06-11 15:28:20 -05:00
Derek Parker
c692f62005 Update README 2015-06-02 08:26:35 -05:00
Derek Parker
248782ace8 Remove unused file 2015-06-02 08:25:36 -05:00
omie
8a05893244 added test for terminal command thread: args bound checking 2015-05-30 12:53:41 +05:30
omie
c9acc86601 added length check for args in terminal thread command 2015-05-29 22:59:02 +05:30
Derek Parker
c7dc57d44f Detach from process in tests
Prevents leaving around a bunch of zombie processes
2015-05-27 17:38:53 -05:00
Derek Parker
49667f2302 Rename thread.Process -> thread.dbp
Process is an incorrect name for the DebuggedProcess struct that the
thread is "a part" of. Also, no need to export that field.
2015-05-27 12:16:45 -05:00
Derek Parker
8f4f54d22a Add Makefile error for missing CERT on OSX 2015-05-19 14:44:09 -05:00
Derek Parker
25fd080efe Add high-res images 2015-05-19 12:25:26 -05:00
Derek Parker
fc1cfa0abc Update README
* Simplify
* Add links to wiki pages
* Add link to CONTRIBUTING doc
* Update description
2015-05-19 12:15:35 -05:00
Derek Parker
e59edcb339 Update README with logo link 2015-05-19 12:00:21 -05:00
Derek Parker
c68bb385cd Add logo/icon 2015-05-19 11:53:41 -05:00
Derek Parker
7cb6480142 Improve single test run make targets for Linux 2015-05-15 15:32:47 -05:00
Derek Parker
d73569a7b5 Add make targets for codesigned single test runs 2015-05-15 15:30:34 -05:00
Derek Parker
97fefb4a7b Use parent environment in OSX fork/exec
fixes #133
2015-05-15 15:20:51 -05:00
Derek Parker
0ee4a48686 Make test default make goal 2015-05-15 15:20:40 -05:00
Derek Parker
efc5003cdd Compile fixtures on demand, only once 2015-05-15 09:23:58 -05:00
Derek Parker
dfff9b5384 Update README 2015-05-13 15:00:43 -05:00
Kirk
2a57fa4b44 Update README.md
Added help in commands
2015-05-12 16:35:30 -07:00
Derek Parker
fb55ee9728 Fix: Use return address directly when at end of func 2015-05-11 08:17:19 -05:00
Derek Parker
72eebe5c4b Handle 'next'ing in deferred funcs 2015-05-09 12:53:25 -05:00
Derek Parker
e4a20d596a Cleanup: remove Println 2015-05-09 12:51:06 -05:00
Derek Parker
39945498a8 Improve 'next': return into deferred func 2015-05-09 12:44:38 -05:00
Derek Parker
2cfbc2937f Refactor: replace dwarf.Reader with wrapped reader 2015-05-09 11:25:26 -05:00
Derek Parker
544f20992f Refactor parseG function 2015-05-09 10:37:16 -05:00
Derek Parker
33088b93ab Replace string constant with variable 2015-05-08 17:55:21 -05:00
Derek Parker
867b3ff8a1 Handle defer blocks when next'ing 2015-05-08 17:35:25 -05:00
Derek Parker
edd73c56ee Do not slice program name from argv 2015-05-08 17:34:30 -05:00
Derek Parker
228587f6ba Specify log visibility with NewServer 2015-05-08 17:26:09 -05:00
Derek Parker
819c476aa9 Do not attempt to automatically read locals/args 2015-05-08 16:43:03 -05:00
Derek Parker
4814636780 Fix: Pass args to OSX fork_exec / trim args 2015-05-08 15:28:48 -05:00