delve/pkg
Sergio Lopez 38307f92d4 proc: add support for dwz compressed DWARF
'dwz' is a tool that reduces the size of DWARF sections by
deduplicating symbols. The deduplicated symbols are moved from their
original 'compile unit' to a 'partial unit', which is then referenced
from its original location with an 'imported unit' tag.

In the case of Go binaries, all symbols are located in a single
'compile unit', and the name of each symbol contains a reference to its
package, so 'dwz' is not able to deduplicate them. But still, some C
symbols included in the binary are deduplicated, which also alters the
structure of the DWARF sections, making delve unable to parse them
(crashing in the attempt).

While it would've been possible to simply ignore the C symbols, or
blindly loading all then into BinaryInfo members (packageVars,
Functions...), for correctness sake this change tries to do the right
thing, staging symbols into temporary partialUnit objects, moving them
to BinaryInfo when they are actually requested  by a 'imported unit'
tag.
2018-05-23 13:59:45 -07:00
..
config config: Return handle for created default config (#1130) 2018-02-20 20:24:05 +01:00
dwarf proc: support inlining 2018-03-26 14:30:38 -04:00
goversion all: Spelling 2018-03-20 11:05:35 +01:00
logflags cmd/dlv: Revert 4e177b, use new flag name for debug logging options 2018-04-26 09:45:52 -07:00
proc proc: add support for dwz compressed DWARF 2018-05-23 13:59:45 -07:00
terminal command/terminal: Printing stack trace of all the goroutines (#1212) 2018-05-22 11:02:43 -07:00
version all: Bump to v1.0.0 (#1126) 2018-02-19 21:33:47 +01:00