Derek Parker
74defb1028
Remove unused struct
2014-11-28 20:16:46 -06:00
Derek Parker
afa3a9cc6c
Remove timeoutWait due to improved scheduler handling
2014-11-26 20:45:29 -06:00
Derek Parker
16392ce609
Improve handling of Go runtime scheduler
2014-11-26 20:35:53 -06:00
Derek Parker
13a3112b6b
Improve Go 1.4 support / cleanup goroutine printing
2014-11-25 20:37:43 -06:00
Derek Parker
04097af74d
Avoid carrying closure around with goroutine
2014-11-25 09:22:34 -06:00
Derek Parker
36d3ecd6e1
Update documentation
2014-11-24 18:19:40 -06:00
Derek Parker
3b2b17938b
Improve support for goroutine context switching
...
Remove any assumption that a wait syscall on a thread id after a
continue will return. Any time we continue a thread, wait for activity
from any thread, because the scheduler may well have switched contexts
on us due to syscall entrace, channel op, etc...
There are several more things to be done here including:
* Potential tracking of goroutine id as we jump around to thread
contexts.
* Potential of selectively choosing threads to operate on based on the
internal M data structures, ensuring that our M has an active G.
This commit partially fixes #23 and #24 , however there are still some
random hangs that happen and need to be ironed out.
2014-11-24 17:57:52 -06:00
Derek Parker
c4eadc386b
Cleanup stopTheWorld arity
2014-11-23 10:44:28 -06:00
Derek Parker
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
Derek Parker
582833a125
minor cleanup
2014-11-21 17:10:13 -06:00
Derek Parker
32fdfd8a2d
lower timeout wait
2014-11-21 17:02:43 -06:00
Derek Parker
aa4f08e18f
check tgkill error
2014-11-21 17:01:14 -06:00
Derek Parker
fe24276b15
Use correct tgid for kill in timeoutWait
2014-11-21 15:44:08 -06:00
Derek Parker
6fd1fbabad
Cleanup trapWait, include TODO for timeoutWait fix
2014-11-20 17:15:42 -06:00
Michael Gehring
6d32a94cd7
Set stderr on launched processes
2014-11-14 13:52:21 -06:00
Derek Parker
29d0cd0bde
Cleanup ignored waitstatus
2014-11-13 19:08:20 -06:00
Michael Gehring
425117a3d6
Stop target process immediately after execve.
2014-11-13 18:52:13 -06:00
Derek Parker
03b5e30bfb
Seek reader for finding goroutine info
2014-11-13 08:36:20 -06:00
Michael Gehring
2f91684e7a
Don't panic in threads
if there is no info for pc
2014-11-12 17:28:28 -06:00
Derek Parker
dcf9f04d45
Improve variable evaluation scope
...
Properly scope variable evaluation to the function the traced process is
currently stopped in.
2014-11-10 21:26:13 -06:00
Derek Parker
505ae44828
cleanup
2014-11-10 07:04:05 -06:00
Derek Parker
cb5785324d
Acknowledge runtime.breakpoint
2014-11-09 18:25:42 -06:00
Derek Parker
7d69c16512
Add command to print all goroutines info
2014-11-09 12:56:21 -06:00
Derek Parker
d2ebf4dc83
Add some documentation
2014-11-08 07:30:22 -06:00
Derek Parker
665ff49181
Add command to print every thread status
2014-11-07 23:55:25 -06:00
Derek Parker
6b2ee09163
Improve overall thread coordination
2014-11-07 23:45:54 -06:00
Derek Parker
4483b17bd6
Synchronize threads better when breakpoint is hit
2014-11-02 12:49:21 -06:00
Derek Parker
f26839d078
Refactor: cleanup path through addThread
2014-10-27 18:10:45 -05:00
Derek Parker
256b386136
Cleanup AttachThread
2014-10-27 17:55:55 -05:00
Derek Parker
f280ba2a3b
minor syntax cleanup
2014-10-27 17:50:47 -05:00
Derek Parker
54788de89b
remove silly function
2014-10-27 17:50:19 -05:00
Derek Parker
27a042eab5
cleanup wait function
2014-10-27 17:47:43 -05:00
Derek Parker
d30a104177
cleanup extra newline
2014-10-27 07:33:19 -05:00
Derek Parker
f1ceba0909
Support 32 bit floats
2014-10-26 12:44:26 -05:00
Derek Parker
6af32b40e6
cleanup go vet errors
2014-10-25 12:44:35 -05:00
Derek Parker
0a12910bc2
Remove unused function
2014-10-25 12:44:35 -05:00
Derek Parker
053c5535ba
Small code cleanup
2014-10-25 12:26:02 -05:00
Derek Parker
7a2362310e
Update documentation
2014-10-25 11:13:02 -05:00
Derek Parker
a3700a4407
Improve support for int variable evaluation
2014-10-25 11:07:12 -05:00
Derek Parker
08aec0d59c
Move variable related code to own file
2014-10-25 10:48:14 -05:00
Derek Parker
c625f09a17
Promote breakpoints back up to process
2014-10-25 09:17:05 -05:00
Derek Parker
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
Derek Parker
099efeeb9d
Allow evaluation of function params
2014-10-17 14:14:55 -05:00
Derek Parker
5331dad93d
Rename project
2014-10-15 09:28:22 -05:00
Derek Parker
6b80a726af
Remove DWARF .debug_line parser / util funcs
2014-10-15 08:31:01 -05:00
Derek Parker
fa0092ac74
Rename helper dir
2014-10-14 09:53:10 -05:00
Derek Parker
1760022895
Refactor Next implementation
2014-10-14 09:52:16 -05:00
Derek Parker
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
Derek Parker
be7f34ee0c
Cleanup: Return err directly if cannot set breakpoint
2014-10-13 08:56:42 -05:00
Derek Parker
248766300d
Remove silly function
2014-10-13 08:27:25 -05:00