- 18 9月, 2015 1 次提交
-
-
由 Ilia Choly 提交于
The GoroutineInfo method can be slow if there are many goroutines. This patch caches the results during a halt so they are not needlessly recomputed. Fixes #234
-
- 06 9月, 2015 2 次提交
-
-
由 Derek Parker 提交于
`next` would hang in highly parallel programs, causing test flickers and unexpected behavior. This patch fixes it by examining all stopped threads whenever Delve gets a notification, instead of just the thread that caused the stop.
-
由 aarzilli 提交于
-
- 30 8月, 2015 1 次提交
-
-
由 omie 提交于
Support multiple file / directory tables for multiple compilation units. - added a type DebugLines that can hold number of DebugLineInfo - added a supporting attribute to DebugLineInfo called 'Lookup' which is to be used to quickly lookup if file exists in FileNames slice - added supporting methods to lookup and return corresponding DebugLineInfo - changed the debug_line parsing behavior to read all the available tables and push them to DebugLines - since Process.lineInfo is now a slice, it was breaking AllPCsBetween as well - updated that function's definition to accept a new filename parameter to be able to extract related DebugLineInfo - updated calls to AllPCsBetween - fixed tests that were broken due to attribute type change in Process - updated _fixtures/cgotest program to include stdio.h, so that it updates .debug_line header - added a test to check 'next' in a cgo binary - OSX - 1.4 does not support cgo, handle that in new testcase
-
- 28 8月, 2015 1 次提交
-
-
由 Derek Parker 提交于
-
- 22 8月, 2015 2 次提交
-
-
由 Derek Parker 提交于
-
由 Derek Parker 提交于
This patch forces Delve to be more mindful of how it handles many threads and the goroutine context switching that occurs in such cases.
-
- 20 8月, 2015 1 次提交
-
-
由 Derek Parker 提交于
This patch aims to improve how Delve tracks the current goroutine, especially in very highly parallel programs. The main spirit of this patch is to ensure that even in situations where the goroutine we care about is not executing (common for len(g) > len(m)) we still end up back on that goroutine as a result of executing the 'next' command. We accomplish this by tracking our original goroutine id, and any time a breakpoint is hit or a threads stops, we examine the stopped threads and see if any are executing the goroutine we care about. If not, we set 'next' breakpoint for them again and continue them. This is done so that one of those threads can eventually pick up the goroutine we care about and begin executing it again.
-
- 19 8月, 2015 1 次提交
-
-
由 Derek Parker 提交于
-
- 11 8月, 2015 1 次提交
-
-
由 Derek Parker 提交于
We don't care, at the process level, whether or not we're single stepping. That state is really only relevant at the thread level.
-
- 09 8月, 2015 1 次提交
-
-
由 aarzilli 提交于
Breakpoints, tracepoints, etc.. take a location spec as input. This patch improves the expressiveness of that API. It allows: * Breakpoint at line * Breakpoint at function (handling package / receiver smoothing) * Breakpoint at address * Breakpoint at file:line * Setting breakpoint based off regexp
-
- 28 7月, 2015 5 次提交
-
-
由 aarzilli 提交于
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.
-
由 Derek Parker 提交于
-
由 Derek Parker 提交于
-
由 aarzilli 提交于
proc.(*Thread).GetG: reading TLS memory directly for g address instead of modifying the executable code
-
由 aarzilli 提交于
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
-
- 16 7月, 2015 1 次提交
-
-
由 Derek Parker 提交于
-
- 14 7月, 2015 1 次提交
-
-
由 Derek Parker 提交于
-
- 11 7月, 2015 8 次提交
-
-
由 Derek Parker 提交于
-
由 Derek Parker 提交于
-
由 Derek Parker 提交于
-
由 Derek Parker 提交于
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.
-
由 Derek Parker 提交于
-
由 Derek Parker 提交于
-
由 Derek Parker 提交于
-
由 Derek Parker 提交于
-
- 10 7月, 2015 3 次提交
-
-
由 Derek Parker 提交于
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.
-
由 Derek Parker 提交于
Also, kill whitespace to make code appear more as a singular block for readability.
-
由 Derek Parker 提交于
-
- 08 7月, 2015 2 次提交
-
-
由 Derek Parker 提交于
-
由 Derek Parker 提交于
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.
-
- 30 6月, 2015 1 次提交
-
-
由 aarzilli 提交于
-
- 29 6月, 2015 2 次提交
-
-
由 Derek Parker 提交于
-
由 aarzilli 提交于
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]
-
- 27 6月, 2015 1 次提交
-
-
由 aarzilli 提交于
On a thread that's leader of its group, that is ptraced and that was survived by its children.
-
- 26 6月, 2015 2 次提交
-
-
由 Derek Parker 提交于
-
由 Derek Parker 提交于
-
- 22 6月, 2015 3 次提交
-
-
由 Derek Parker 提交于
Makes for more deterministic test runs.
-
由 Derek Parker 提交于
-
由 Derek Parker 提交于
-