- 22 4月, 2017 1 次提交
-
-
由 aarzilli 提交于
- move native backend to pkg/proc/native - move gdbserver backend to pkg/proc/gdbserial - move core dumps backend to pkg/proc/core
-
- 19 4月, 2017 2 次提交
- 14 4月, 2017 1 次提交
-
-
由 Alessandro Arzilli 提交于
* proc: Refactor stackIterator to use memoryReadWriter and BinaryInfo * proc: refactor EvalScope to use memoryReadWriter and BinaryInfo * proc: refactor Disassemble to use memoryReadWriter and BinaryInfo
-
- 07 4月, 2017 1 次提交
-
-
由 Alessandro Arzilli 提交于
* proc: refactor BinaryInfo part of proc.Process to own type The data structures and associated code used by proc.Process to implement target.BinaryInfo will also be useful to support a backend for examining core dumps, split this part of proc.Process to a different type. * proc: compile support for all executable formats unconditionally So far we only compiled in support for loading the executable format supported by the host operating system. Once support for core files is introduced it is however useful to support loading in all executable formats, there is no reason why it shouldn't be possible to examine a linux coredump on windows, or viceversa. * proc: bugfix: do not resume threads on detach if killing * Replace BinaryInfo interface with BinInfo() method returning proc.BinaryInfo
-
- 14 3月, 2017 1 次提交
-
-
由 dr2chase 提交于
Stack barriers were removed in Go 1.9, and thus code that expected various stack-barrier-related symbols to exist does not find them. Check for their absence and do not crash when they are missing. Disable stack-barrier-handling test for 1.9 and beyond. Fixes #754.
-
- 10 2月, 2017 1 次提交
-
-
由 Alessandro Arzilli 提交于
loadValue didn't react correctly to pointer loops going through slice -> interface{} -> slice or pointer -> interface{} -> pointer.
-
- 09 2月, 2017 3 次提交
-
-
由 Derek Parker 提交于
-
由 Derek Parker 提交于
-
由 Alessandro Arzilli 提交于
Under currently undetermined circumstances we encounter a map type that has a malformed buckets, oldbuckets or overflow field. Check the type of buckets, oldbuckets and overflow before using them. Fixes #685
-
- 08 2月, 2017 2 次提交
-
-
由 Alessandro Arzilli 提交于
* service/rpccommon: fixed typo * proc: test parseG while target is in runtime.deferreturn runtime.deferreturn will change the value of curg._defer.fn in such a way that if the target is stopped at just the right instruction it may crash an incorrect implementation of parseG * proc/stack: handle stack barriers correctly Correctly handle stack barriers insterted during garbage collection.
-
由 Alessandro Arzilli 提交于
* proc: Added trace benchmark Results: BenchmarkTrace-4 5000 36195899 ns/op * proc/linux: faster single step implementation. BenchmarkTrace-4 5000 2093271 ns/op * proc: Cache function debug_info entries to speed up variable lookup. BenchmarkTrace-4 5000 1864846 ns/op * proc/variables: Optimize FunctionArguments by prefetching frame BenchmarkTrace-4 5000 1815795 ns/op * proc/variables: optimized parseG BenchmarkTrace-4 10000 712767 ns/op
-
- 21 1月, 2017 1 次提交
-
-
由 Alessandro Arzilli 提交于
Unfortunately go/constant does not support NaN and Inf float values so we need to store this information alongside. Fixes #705
-
- 17 12月, 2016 1 次提交
-
-
由 aarzilli 提交于
Fixes #645
-
- 03 11月, 2016 1 次提交
-
-
由 Alessandro Arzilli 提交于
Since we store all signed integers as int64 the sign bit should be extended, otherwise we read negative integers as their 2-complement value.
-
- 27 10月, 2016 1 次提交
-
-
由 aarzilli 提交于
Generate names of the concrete types stored inside interface variables by fully parsing their runtime._type instead of simply using the str field. This allows delve to read the contents of an interface variable when the program imports multiple packages that have the same name. It also allows delve to correctly interpret some complex anonymous types. Fixes #455
-
- 25 9月, 2016 1 次提交
-
-
由 Alessandro Arzilli 提交于
Fixes #642
-
- 07 9月, 2016 1 次提交
-
-
由 Alessandro Arzilli 提交于
-
- 06 7月, 2016 1 次提交
-
-
由 Alessandro Arzilli 提交于
Patch https://go-review.googlesource.com/23085 has been merged so we can go back to using golang.org/x/debug/.
-
- 30 5月, 2016 1 次提交
-
-
由 Alessandro Arzilli 提交于
* tests: update to cope with go1.7 SSA compiler * de-vendored golang.org/x/debug/dwarf We need our own tweaked version * dwarf/debug/dwarf: always use the entry's name attribute Using the name attribute leads to better type names as well as fixes inconsistencies between 1.5, 1.6 and 1.7. * proc: Updated loadInterface to work with go1.7 go1.7 changed the internal representation of types, removing the string field from runtime._type. Updated loadInterface to use the new str field.
-
- 25 4月, 2016 1 次提交
-
-
由 Alessandro Arzilli 提交于
* service/api: Removed unused fields of service/api.Function * proc/eval: Set return variable name to input expression * all: fine-grained control of loadValue for better variable printing Makes proc.(*Variable).loadValue loading parameters configurable through one extra argument of type LoadConfig. This interface is also exposed through the API so clients can control how much of a variable delve should read.
-
- 29 3月, 2016 2 次提交
-
-
由 aarzilli 提交于
- made GoroutineStacktrace a method of struct G - made stacktrace a method of StackIterator - renamed StackIterator to stackIterator - factored out logic to obtain a stackIterator from a goroutine that's used by both (*G).Stacktrace and by (*G).UserCurrent
-
由 aarzilli 提交于
Instead of returning an error when FDE of a frame can not be found, just truncate the stack trace. Fixes #462
-
- 23 3月, 2016 1 次提交
-
-
由 aarzilli 提交于
-
- 18 3月, 2016 1 次提交
-
-
由 Hubert Krauze 提交于
-
- 28 2月, 2016 1 次提交
-
-
由 aarzilli 提交于
-
- 11 2月, 2016 2 次提交
-
-
由 aarzilli 提交于
1. A running goroutine is by definition not parked waiting for a chan recv 2. The FDE end address is intended to be exclusive, the code interpreted as inclusive and sometimes ended up setting a breakpoint on a function other than the current one.
-
由 aarzilli 提交于
Past the maximum recursion depth maps shouldn't be loaded at all, adding map children and not loading them breaks assumptions in the prettyprinter. Fixes #406
-
- 01 2月, 2016 1 次提交
-
-
由 aarzilli 提交于
Fixes #384
-
- 25 1月, 2016 2 次提交
-
-
由 aarzilli 提交于
Typedefs that resolve to slices are not recorded in DWARF as typedefs but instead as structs in a way that there is no way to know they are really slices using debug/dwarf. Using golang.org/x/debug/dwarf instead this problem is solved and as a bonus some types are printed with a nicer names: (struct string → string, struct []int → []int, etc) Fixes #356 and #293
-
由 Derek Parker 提交于
Instead of doing a bunch of manual DWARF / memory parsing we instead can just dogfood the internal Variable API to retrieve the G struct.
-
- 24 1月, 2016 1 次提交
-
-
由 aarzilli 提交于
-
- 18 1月, 2016 1 次提交
-
-
由 aarzilli 提交于
Location specifiers starting with '*' can be followed by any expression supported by the evaluator. The expression should evaluate to either an integer (which will be interpreted as an address) or to a function pointer (which will be dereferenced to get the function's entry point).
-
- 16 1月, 2016 1 次提交
-
-
由 aarzilli 提交于
Temp breakpoints should be cleared even if a non-temp breakpoint is triggered on the same goroutine that the temp breakpoints are set on. Fixes #305
-
- 10 1月, 2016 4 次提交
-
-
由 aarzilli 提交于
Prefetch the entire memory of structs and arrays and cache it instead of issuing readMemory calls only when we get down to primitive types. This reduces the number of system calls to ptrace that variables makes. Improves performance in general, greatly improving it in some particular cases (involving large structs). Benchmarks without prefetching: BenchmarkArray-4 10 132189944 ns/op 0.06 MB/s BenchmarkArrayPointer-4 5 202538503 ns/op 0.04 MB/s BenchmarkMap-4 500 3804336 ns/op 0.27 MB/s BenchmarkGoroutinesInfo-4 10 126397104 ns/op BenchmarkLocalVariables-4 500 2494846 ns/op Benchmarks with prefetching: BenchmarkArray-4 200 10719087 ns/op 0.76 MB/s BenchmarkArrayPointer-4 100 11931326 ns/op 0.73 MB/s BenchmarkMap-4 1000 1466479 ns/op 0.70 MB/s BenchmarkGoroutinesInfo-4 10 103407004 ns/op BenchmarkLocalVariables-4 1000 1530395 ns/op Improvement factors: BenchmarkArray 12.33x BenchmarkArrayPointer 16.97x BenchmarkMap 2.59x BenchmarkGoroutinesInfo 1.22x BenchmarkLocalVariables 1.63x
-
由 aarzilli 提交于
-
由 Derek Parker 提交于
-
由 aarzilli 提交于
Fixes #341
-
- 19 12月, 2015 1 次提交
-
-
由 aarzilli 提交于
recurseLevel value should not be reset when evaluating the contents of an interface variable Fixes #316
-
- 16 12月, 2015 1 次提交
-
-
由 aarzilli 提交于
The concrete type of an interface only contains the abbreviated package name, we must construct a map from package names to package paths to be able to resolve the concrete type of an interface.
-