Commit Graph

73 Commits

Author SHA1 Message Date
Derek Parker
bcbda1dba3 Rename version.After to version.AfterOrEqual 2015-07-28 15:42:56 -05:00
aarzilli
311da7c314 bugfix: version string parsing support for beta versions and tolerance for devel versions
fixes issue #179
2015-07-28 15:15:45 -05:00
Derek Parker
77604eff81 Improve code documentation 2015-07-28 13:37:55 -05:00
Derek Parker
15b7c6e562 Send kill signal to process group on Linux 2015-07-28 13:31:54 -05:00
Derek Parker
544c4ccc3d Add more documentation around darwin fork_exec 2015-07-28 12:23:36 -05:00
Derek Parker
a6fc8d11a7 Create new session/process grp for forked process 2015-07-28 12:20:07 -05:00
aarzilli
a0115e3a15 bugfix: Issue #170 (partial) set function breakpoints on the first instruction
the entry point of a function is the beginning of the prologue, which can be run multiple times for each invocation of a function if the stack needs to be expanded or the scheduler needs to be run.
2015-07-28 08:16:20 -05:00
aarzilli
a353735715 Breakpoints are hit multiple times or skipped sometimes (tests) 2015-07-28 08:13:46 -05:00
Derek Parker
051ea39f2c Remove superfluous Kill method call in test
The process will already be killed via withTestProcess
2015-07-28 07:54:26 -05:00
Derek Parker
c0ba4681c9 Use boolean zero value instead of setting false 2015-07-28 07:52:29 -05:00
Derek Parker
510133ae5a Return after error parsing version string 2015-07-28 07:51:09 -05:00
aarzilli
0933a681cf proc.(*Thread).GetG: reading TLS memory directly for g address instead of modifying the executable code 2015-07-28 07:33:51 +02:00
aarzilli
d0f3459efb bugfix, Issue #163: offset of g struct in TLS picked based on the value of runtime.buildVersion and presence of compile units created by GNU AS, instead of being fixed to -16 2015-07-28 07:33:51 +02:00
Derek Parker
df2bf3cb63 Fix comment typos 2015-07-16 13:07:34 -05:00
Derek Parker
1727df4b1b Fix: Properly attach to running process on OSX 2015-07-15 20:37:43 -05:00
Derek Parker
b32afd92ad Add test for kevent patch 2015-07-15 19:57:54 -05:00
Derek Parker
0ab44d10ea Handle thread blocked on kevent 2015-07-14 09:51:52 -05:00
Derek Parker
c96d0a5ab2 Add pid flag to trace subcommand 2015-07-13 19:20:37 -05:00
Derek Parker
3cee10d8bc Implement 'trace' subcommand
Allows a user to execute `dlv trace [regexp]` and Delve will execute the
program and output information on functions matching [regexp].
2015-07-12 15:20:12 -05:00
Derek Parker
40284111d4 Kill process outright if manually forked 2015-07-11 01:43:47 -05:00
Derek Parker
e6448556fa Cleanup whitespace 2015-07-10 20:16:06 -05:00
Derek Parker
98da14b078 Add comments to proc.Detach 2015-07-10 15:57:32 -05:00
Derek Parker
8107955039 Remove accidental GOMAXPROCS call in proc 2015-07-10 15:52:49 -05:00
Derek Parker
1ce255ffa3 Remove any printing from core proc package
Also, reorganizes some code.

Initially, the `proc` package emitted a lot of output. Now, that should
not be the case. The `proc` package should never print, for any reason.
That should be handled by clients.
2015-07-10 15:48:51 -05:00
Derek Parker
c8e4fcc285 Upper case comment 2015-07-10 15:43:42 -05:00
Derek Parker
b31575b54c Refactor: condense code for looking at current fn 2015-07-10 15:42:09 -05:00
Derek Parker
38e2cfc615 Remove duplicate call to Halt 2015-07-10 15:15:44 -05:00
Derek Parker
99cf3abc18 Inline superfluous function definition 2015-07-10 14:48:45 -05:00
Derek Parker
aa71d787aa Always stop the world after trapWait in resume
We do not need to verify a current breakpoint, nor do a redundant check
on whether we have been asked to manually halt. Assume trapWait has done
its due diligence and stop the world once it returns.
2015-07-09 23:13:20 -05:00
Derek Parker
a00957fcf5 Reuse existing function for BP by ID lookup
Also, kill whitespace to make code appear more as a singular block for
readability.
2015-07-09 15:45:43 -05:00
Derek Parker
386101466a Update comment in next 2015-07-09 15:21:10 -05:00
Derek Parker
a99a37f397 Initial refactor of source package
Major source cleanup, still not finished. Removes gross control flow.
2015-07-09 13:06:30 -05:00
Derek Parker
4aad37b69c Reorder imports 2015-07-08 15:02:43 -05:00
Derek Parker
c496e9bccf Don't rely on CurrentBreakpoint, lookup before continue 2015-07-08 13:06:06 -05:00
Derek Parker
8c44181d56 Prefer actual thread location in goroutine struct 2015-07-07 21:21:47 -05:00
Derek Parker
4d1dc5ad0e Inject SIGTRAP for manual stop
Instead of fighting against the normal flow, just signal a SIGTRAP and
let the existing flow handle it, as long as we set the halt flag
correctly the system should halt.
2015-07-07 15:55:22 -05:00
Derek Parker
776e2a593f Null terminate argv array in Go land not C land 2015-07-07 14:57:36 -05:00
Derek Parker
05517c62c1 Properly terminate C string array for execve on OSX 2015-07-07 08:42:34 -05:00
Derek Parker
6b99c5f519 Cleanup tracepoint commit
* Cleanup comments
* Cleanup naming in certain instances
* Modify stacktrace to return current location
2015-06-30 22:16:52 -05:00
aarzilli
3a96d8eed7 trace command 2015-06-29 21:16:55 +02:00
Derek Parker
c267eda9ba Update docs for ClearBreakpoint 2015-06-29 08:06:48 -05:00
aarzilli
2fcbc4bdef ClearBreakpoint should clear a hardware breakpoint from all threads
additionally fixes a bug when Detach is called on an exiting/exited thread: dbp.CurrentThread could point to a thread that has already been removed from dbp.Threads by trapWait which will lead to a nil pointer dereference caused proc.Process.clearBreakpoint getting nil from dbp.Threads[tid]
2015-06-29 11:35:53 +02:00
Derek Parker
70aff5612c Check thread.CurrentBreakpoint instead of PC lookup 2015-06-27 23:22:02 -05:00
Derek Parker
8d4a73f7dd Refactor: Reorganize guard clauses 2015-06-27 23:22:01 -05:00
Derek Parker
29ed169848 Return error when invoking Delve with invalid path
Fixes #154
2015-06-26 23:05:15 -05:00
Derek Parker
24c024d1e6 Kill whitespace 2015-06-26 22:10:09 -05:00
aarzilli
d919114d32 Fix: Linux - call wait4 on thread grp leader is broken
On a thread that's leader of its group,
that is ptraced and that was survived by its children.
2015-06-26 22:10:09 -05:00
aarzilli
71fae8f5c6 Only clear and reset breakpoint for current thread 2015-06-26 22:03:50 -05:00
Derek Parker
9d1711d376 dbp.Running determined by any thread running 2015-06-26 09:58:26 -05:00
Derek Parker
db278d0453 Improve TestHalt reliability on Linux 2015-06-26 07:46:46 -05:00