95 Commits

Author SHA1 Message Date
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
6aec8333eb Move things around because aesthetics 2014-09-05 14:38:43 -05:00
f5df7ea14d Fix: error should not use nil val 2014-09-05 14:20:12 -05:00
39569a14ac Refactor Next implementation 2014-09-05 14:19:03 -05:00
232d3d7446 Prefer "new" for initialization 2014-09-01 10:39:04 -05:00
a847f4fd9d Don't rely on process.Wait(), instead use syscall 2014-08-27 17:47:04 -05:00
fe79437656 Organize types / methods a bit 2014-08-15 15:43:14 -05:00
0e11797f8b Reduce nesting 2014-08-14 18:00:48 -05:00
54e15f9d06 Don't assume availability of .gosymtab / .gopclntab 2014-08-07 17:57:58 -05:00
0af47b64ce Use external red/black tree package 2014-08-07 11:03:42 -05:00
d977810626 Parallelize initial parsing operations 2014-08-06 11:14:23 -05:00