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
Seth W. Klein
b5c3ee4012
Default to killing process on exit
...
Also adds support for capitalization variants of "no" to not kill
process.
2015-05-07 23:00:46 -04:00
Seth W. Klein
31658f37dc
Add default answer hint to kill process prompt
...
Also supports capitalized answers.
2015-05-07 22:16:39 -04:00
Derek Parker
b24abcd325
Update README
2015-05-07 16:59:38 -05:00
Derek Parker
5a408e7054
Handle NULL addrs / empty OP stacks
2015-05-07 16:55:06 -05:00
Derek Parker
df78a294e4
Protect against null strings
2015-05-07 09:34:34 -05:00