Commit Graph

1835 Commits

Author SHA1 Message Date
Derek Parker
12949e3406 Remove linux build requirement on variables source file 2014-12-08 22:33:52 -06:00
Derek Parker
460bedf4f4 Use generic ReadMemory isntead of Ptrace 2014-12-08 22:31:51 -06:00
Derek Parker
e784e5d56d Isolate linux specific memory reading in threads file 2014-12-08 17:56:02 -06:00
Derek Parker
e299dfde08 Isolate linux specific register getters / setters 2014-12-08 17:54:34 -06:00
Derek Parker
64e01bfed1 Begin thread code isolation 2014-12-08 17:40:59 -06:00
Derek Parker
d41bbbf5c3 Further isolate Linux specific code 2014-12-08 17:15:52 -06:00
Derek Parker
2ecf625c5b Remove unused struct member 2014-12-08 12:15:08 -06:00
Derek Parker
53ae81291b Isolate proctl_*.go linux specific code 2014-12-05 16:17:10 -06:00
Derek Parker
1b819915fd Remove unused function 2014-12-05 12:39:54 -06:00
Derek Parker
f8bb5acc9b Return more meaningful errors 2014-12-04 15:26:53 -06:00
Derek Parker
d14183a2a2 Fix: do not always use pid thread for clearing bp
Since fixing scheduler handling bugs, a new bug was exposed where Step
was calling Clear off of the DebuggedProcess struct. This is incorrect,
 and should be handled by the thread itself and not delegated.
2014-12-04 15:04:48 -06:00
Derek Parker
a039e5a93d Add basic support for evaluating struct members 2014-12-02 23:30:39 -06:00
Derek Parker
46760aaa1c Rename fn for clarity 2014-12-02 16:44:51 -06:00
Derek Parker
2046bc8192 Check for err on Dwarf fn seek 2014-12-02 16:42:50 -06:00
Derek Parker
67e2455caf Fix format string 2014-12-02 12:42:17 -06:00
Derek Parker
93d62e450e Modify cl ui a bit 2014-12-02 12:40:53 -06:00
Derek Parker
5ece8d3b69 Use allm info to attach to existing threads
This remove reliance on the procfs for figuring out what threads are
already active when we attach to a running process. The allm linked list
will be present to matter what OS we're on, whereas procfs will not be
present everywhere.

This is the first in a series of steps to support more platforms.
2014-12-02 10:15:51 -06:00
Derek Parker
c4f79a36e5 Move current line indicator 2014-12-01 21:13:08 -06:00
Derek Parker
d8ff93d875 Add newline between functions 2014-12-01 18:06:27 -06:00
Derek Parker
269f111822 Minor version bump 2014-11-28 20:37:08 -06:00
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
5722de6d2b Improve Dwarf frame establishing function
Remove reliance on order of dwarf instructions.
2014-11-24 07:53:39 -06:00
Derek Parker
94453b46e6 Update README 2014-11-23 17:44:00 -06:00
Derek Parker
c4eadc386b Cleanup stopTheWorld arity 2014-11-23 10:44:28 -06:00
Derek Parker
5254c5188e Move LockOSThread into init 2014-11-23 10:22:04 -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
Derek Parker
200be0e20f Update README 2014-11-15 10:55:22 -06:00
Michael Gehring
7f17a2fdeb Remove the -proc option and make it the default 2014-11-14 21:55:19 +01:00
Michael Gehring
2029001583 Allow launching target process with arguments 2014-11-14 21:55:19 +01:00
Michael Gehring
6d32a94cd7 Set stderr on launched processes 2014-11-14 13:52:21 -06:00
Jason Del Ponte
cdef461a60 Simplified help command message
* Remove hardcoded string and use command help message
* Include aliases in output
2014-11-14 09:49:54 -06:00
Jason Del Ponte
d54a3262d2 Added aliases to commands
Added:
- break: b
- continue: c
- step: si
- next: n
- print: p

Taken from the gdb command list

Also updated .gitignore to ignore built dlv file in cmd/dlv
2014-11-14 09:49:34 -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
e7c8bdca27 minor cleanup 2014-11-13 09:44:04 -06:00
Burke Libbey
9c2ab6b749 Allow ^D (EOF) to terminate the session. 2014-11-13 09:39:08 -06:00
Burke Libbey
9bb601bbf6 ignore tags 2014-11-13 09:39:08 -06:00
Michael Gehring
2ce51ab92f Handle missing line info in printcontext 2014-11-13 08:43:43 -06:00
Derek Parker
03b5e30bfb Seek reader for finding goroutine info 2014-11-13 08:36:20 -06:00