105 Commits

Author SHA1 Message Date
c4eadc386b Cleanup stopTheWorld arity 2014-11-23 10:44:28 -06:00
8be3ffc774 Refactor: wrap syscall.Wait4
Wrap syscall.Wait4 and cleanup a few coordination issues.

There are still some issues here where background threads are left
sleeping. This could potentially cause weird issues. There are a few
more things I have planned to cleanup thread coordination issues.
2014-11-22 18:57:26 -06:00
582833a125 minor cleanup 2014-11-21 17:10:13 -06:00
32fdfd8a2d lower timeout wait 2014-11-21 17:02:43 -06:00
aa4f08e18f check tgkill error 2014-11-21 17:01:14 -06:00
fe24276b15 Use correct tgid for kill in timeoutWait 2014-11-21 15:44:08 -06:00
6fd1fbabad Cleanup trapWait, include TODO for timeoutWait fix 2014-11-20 17:15:42 -06:00
6d32a94cd7 Set stderr on launched processes 2014-11-14 13:52:21 -06:00
29d0cd0bde Cleanup ignored waitstatus 2014-11-13 19:08:20 -06:00
425117a3d6 Stop target process immediately after execve. 2014-11-13 18:52:13 -06:00
cb5785324d Acknowledge runtime.breakpoint 2014-11-09 18:25:42 -06:00
d2ebf4dc83 Add some documentation 2014-11-08 07:30:22 -06:00
665ff49181 Add command to print every thread status 2014-11-07 23:55:25 -06:00
6b2ee09163 Improve overall thread coordination 2014-11-07 23:45:54 -06:00
4483b17bd6 Synchronize threads better when breakpoint is hit 2014-11-02 12:49:21 -06:00
f26839d078 Refactor: cleanup path through addThread 2014-10-27 18:10:45 -05:00
256b386136 Cleanup AttachThread 2014-10-27 17:55:55 -05:00
f280ba2a3b minor syntax cleanup 2014-10-27 17:50:47 -05:00
54788de89b remove silly function 2014-10-27 17:50:19 -05:00
27a042eab5 cleanup wait function 2014-10-27 17:47:43 -05:00
d30a104177 cleanup extra newline 2014-10-27 07:33:19 -05:00
6af32b40e6 cleanup go vet errors 2014-10-25 12:44:35 -05:00
c625f09a17 Promote breakpoints back up to process 2014-10-25 09:17:05 -05:00
4c95bf7302 (Mostly) working multithreaded tracing implementation
Areas that need improving:

* Code cleanup
* Promote breakpoints back out of thread context
* Fix potential bug in "Next" implementation, when thread contexts
  switch
2014-10-25 08:59:22 -05:00
099efeeb9d Allow evaluation of function params 2014-10-17 14:14:55 -05:00
5331dad93d Rename project 2014-10-15 09:28:22 -05:00
6b80a726af Remove DWARF .debug_line parser / util funcs 2014-10-15 08:31:01 -05:00
1760022895 Refactor Next implementation 2014-10-14 09:52:16 -05:00
58c1f54578 Improve Next implementation
Fix bug involving detecting whether or not we have stepped into another
function when we plan on return from the function we are currently in.
2014-10-13 19:04:38 -05:00
be7f34ee0c Cleanup: Return err directly if cannot set breakpoint 2014-10-13 08:56:42 -05:00
248766300d Remove silly function 2014-10-13 08:27:25 -05:00
dc8c9cc2a4 Optimize Next implementation
Once the program detects that we have stepped into another function,
we simply calculate the return address and then set a breakpoint and
continue to that location, avoiding numerous syscalls.
2014-10-13 08:24:59 -05:00
09e352bdf7 Refactor: Move Cover method to FDE 2014-10-11 00:52:05 -05:00
dfacf0770d Fix wrong location bug for Next impl 2014-10-10 21:00:07 -05:00
5da86a3e31 cleanup 2014-10-09 17:15:10 -05:00
6a71009954 Fix Next impl
Needs some refactoring and some optimization, but fixes several bugs.
2014-10-09 14:19:10 -05:00
10a1447ae1 Implement support for pointers to structs 2014-10-07 16:22:26 -05:00
f0e0d0b8fd Implement support for struct evaluation 2014-10-07 14:32:22 -05:00
c9cbaea291 Optimize Next implementation
Now that I'm using the step strategy, I put in an optimization where if
stepping into another function, simply find the return address, put a
breakpoint there, and then continue.
2014-10-07 13:57:03 -05:00
2231c0e7f3 Add reminder for "Next" optimization 2014-10-07 10:33:13 -05:00
6363ce106a Add comments for PC reset code 2014-10-07 07:58:21 -05:00
5c301dd9b1 Improve 'in current fn' check for Next impl 2014-10-07 07:57:11 -05:00
2ce7352aa4 Simplify temp breakpoint cleanup 2014-10-04 18:13:20 -05:00
f8a65c41c5 Improve next impl -- needs refactoring 2014-10-04 00:52:40 -05:00
a712a86074 cleanup formatting 2014-09-30 08:49:30 -05:00
fad8104160 Reorganize code a bit 2014-09-25 17:20:09 -05:00
8ee9525f47 Ensure temp breakpoints are cleared after next 2014-09-18 22:28:21 -05:00
f1e5a70a4b Update for Go 1.3.1
I decided to vendor all debug/dwarf and debug/elf files so that the
project can be go get-table. All changes that I am waiting to land in Go
1.4 are now captured in /vendor/debug/*.
2014-09-13 12:28:46 -05:00
26b9878513 Remove superfluous break in Next implementation 2014-09-05 16:16:55 -05:00
50951ba257 Do not export nextPotentialLocations 2014-09-05 14:52:45 -05:00