delve/_fixtures
Alessandro Arzilli f9c8f7f55b
Go 1.15 support (#2011)
* proc: start variable visibility one line after their decl line

In most cases variables shouldn't be visible on their declaration line
because they won't be initialized there.
Function arguments are treated as an exception.

This fix is only applied to programs compiled with Go 1.15 or later as
previous versions of Go did not report the correct declaration line for
variables captured by closures.

Fixes #1134

* proc: silence go vet error

* Makefile: enable PIE tests on windows/Go 1.15

* core: support core files for PIEs on windows

* goversion: add Go 1.15 to supported versions

* proc: fix function call injection for Go 1.15

Go 1.15 changed the call injection protocol so that the runtime will
execute the injected call on a different (new) goroutine.

This commit changes the function call support in delve to:

1. correctly track down the call injection state after the runtime
   switches to a different goroutine.
2. correctly perform the escapeCheck when stack values can come from
   multiple goroutine stacks.

* proc: miscellaneous fixed for call injection under macOS with go 1.15

- create copy of SP in debugCallAXCompleteCall case because the code
  used to assume that regs doesn't change
- fix automatic address calculation for function arguments when an
  argument has a spurious DW_OP_piece at entry
2020-07-28 09:19:51 -07:00
..
buildtest service/dap: Add support for debug and test modes (#1901) 2020-03-04 09:22:51 -08:00
cgostacktest pkg/proc,service: support linux/386 (#1884) 2020-03-10 09:34:40 -07:00
fputest proc/core: Make TestCoreFpTest less flaky 2018-03-20 09:34:05 -07:00
internal proc: support DW_AT_go_package_name (#1757) 2019-11-25 09:10:18 -08:00
issue1656 proc: next/step/stepout restarts thread from wrong instruction (#1657) 2019-08-12 15:11:19 -07:00
nodisasm proc: fix next when disassembly fails 2018-08-29 16:11:18 -07:00
nomaindir proc: detect when Launching non-executable files 2016-06-30 09:39:18 +02:00
nopbreakpoint proc: fix breakpoint confusion on resume (#1738) 2019-10-28 14:55:32 -07:00
plugin1 proc,proc/native,proc/gdbserial: initial plugin support (#1413) 2019-03-20 10:32:51 -07:00
plugin2 proc,proc/native,proc/gdbserial: initial plugin support (#1413) 2019-03-20 10:32:51 -07:00
testvariablescgo proc: better support for C pointers (#1997) 2020-06-05 11:22:40 -07:00
binarytrees.go Improve stacktraces (#721) 2017-02-08 14:14:57 +01:00
bpcountstest.go proc: Continue does not work with breakpoints set on NOP (OSX) 2016-01-09 08:44:28 +01:00
bpfile terminal: Implements init file and source command 2015-10-04 10:32:38 -07:00
break.go tests: Add test for #149, fixed TestNextGeneral on tip 2016-02-28 16:44:22 -08:00
buildflagtest.go service/dap: Add buildFlags error checking and tests in launch requests (#2056) 2020-05-28 14:01:51 -07:00
callme.go Go 1.8 compatibility (part 2) (#667) 2017-02-07 13:07:18 -08:00
cgosigsegvstack.go proc: implement stacktrace of arm64 (#1780) 2020-01-21 09:11:20 -08:00
cgotest.go dwarf/line: Support for parsing multiple file tables 2015-08-29 14:51:27 -05:00
clientdo.go proc,prettyprint: guard against autodereferenced escaped pointers (#1077) 2018-01-19 15:50:28 +01:00
consts.go *: Update import name to github.com/go-delve/delve 2019-01-04 19:43:13 +01:00
continuetestprog.go Underscore fixtures dir to ignore during test run 2014-06-09 10:55:18 -05:00
coreemptystring.go proc: fix reading of empty strings in core files 2018-03-08 11:58:03 -08:00
create_breakpoint_main.star terminal: adds embedded scripting language (#1466) 2019-07-02 10:55:27 -07:00
debug_line_benchmark_data pkg/dwarf/line: improve performance 2017-11-03 20:57:04 +01:00
debug_line_c_data dwarf/line: Fixed DirIdx (index starts at one) (#1873) 2020-02-21 09:00:34 -08:00
decllinetest.go Go 1.15 support (#2011) 2020-07-28 09:19:51 -07:00
defercall.go proc: bugfix: Next and normal calls to deferred function 2016-09-27 09:37:26 +02:00
deferstack.go proc,service,terminal: eval expressions in the scope of a deferred call 2018-10-16 08:40:07 -07:00
dotpackagesiface.go *: Update import name to github.com/go-delve/delve 2019-01-04 19:43:13 +01:00
dwzcompression.go proc_test: implement test for DWZ compressed DWARF 2018-05-23 13:59:45 -07:00
echo_expr.star terminal: adds embedded scripting language (#1466) 2019-07-02 10:55:27 -07:00
examinememory.go pkg,service: add cmd examinemem(x) for examining memory. (#1814) 2020-02-13 09:29:21 -08:00
exit.init cmd/dlv,terminal: fix accept-multiclient behavior 2018-12-03 09:58:29 -08:00
find_array.star terminal: adds embedded scripting language (#1466) 2019-07-02 10:55:27 -07:00
fncall.go pkg/proc: Allow function calls on non-struct types 2020-02-20 10:31:48 +01:00
goroutine_start_line.star terminal: adds embedded scripting language (#1466) 2019-07-02 10:55:27 -07:00
goroutineLabels.go proc,service: expose goroutine pprof labels in api 2020-01-21 09:08:36 -08:00
goroutinestackprog.go Extend the "frame" command to set the current frame. (#1110) 2018-03-22 10:02:15 -07:00
http_server.go [WIP] pkg/proc: avoid target process leaks. (#2018) 2020-05-14 14:23:16 +02:00
ifaceembcall.go proc: skip autogenerated wrappers when stepping in and out 2020-03-31 10:04:36 -07:00
increment.go proc: next, stepout should work on recursive goroutines (#831) 2017-05-16 11:23:33 -07:00
integrationprog.go Launch prog from cli, also exit cleanly 2014-08-23 08:20:56 -05:00
is sue239.go proc: bugfix: status does not work with programs containing spaces 2015-10-04 12:01:09 -07:00
issue262.go proc: Continue does not work with breakpoints set on NOP (OSX) 2016-01-09 08:44:28 +01:00
issue305.go proc: bugfix: clearing temp breakpoints 2016-01-16 09:13:15 +01:00
issue332.go proc: bugs setting next breakpoints 2016-02-11 08:28:07 +01:00
issue384.go proc/variables: crash while reading unintialized variable 2016-01-31 20:14:17 +01:00
issue387.go terminal,service: auto-continue during next and step (#448) 2016-04-24 16:20:02 -07:00
issue406.go all: Spelling 2018-03-20 11:05:35 +01:00
issue419.go debugger: bugfix: make delve API thread safe 2016-02-24 17:49:30 -08:00
issue528.go service/test: Added test for issue #528 2016-05-18 09:07:19 +02:00
issue561.go proc: Implement Step using Continue 2016-09-27 09:37:33 +02:00
issue573.go proc: Renamed temp breakpoints to internal breakpoints 2016-09-30 08:35:29 +02:00
issue594.go proc: changed windows backend to deal with simultaneous breakpoints (#598) 2016-10-21 21:51:34 -07:00
issue664.go Go 1.8 compatibility (part 2) (#667) 2017-02-07 13:07:18 -08:00
issue683.go Fix for #614 and #683 (#687) 2017-01-09 15:21:54 -08:00
issue871.go proc: auto-dereference local variables that escape to the heap 2017-08-01 11:20:25 -06:00
issue877.go Pass LD_/DYLD_ env vars to debugserver (fixes #877) (#910) 2017-07-18 12:57:41 -06:00
issue951.go proc: Flag shadowed arguments as shadowed 2018-04-23 10:13:21 -07:00
issue1101.go proc/native: fix race condition between Halt and process death (linux) 2018-03-06 09:06:19 -08:00
issue1264.go proc: allow breakpoint conditions to contain a single boolean variable 2018-07-09 17:25:47 -07:00
issue1374.go proc: Continue should always work after CallFunction 2018-10-17 09:07:36 -07:00
issue1432.go proc: make structMember work on pointer Variables created through cast 2018-12-03 10:00:22 -08:00
issue1469.go proc: workarounds for runtime.clone (#1470) 2019-02-26 09:22:33 -08:00
issue1531.go proc: Update map reading code for Go 1.12 (#1532) 2019-04-26 10:23:43 -07:00
issue1549.go tests: add benchmark for conditional breakpoints 2020-01-28 11:32:53 +01:00
issue1598.go terminal: update return value load configuration when it changes (#1602) 2019-07-08 10:27:31 -07:00
issue1601.go godwarf: support recursive types involving C qualifiers and typedefs (#1603) 2019-07-08 10:24:56 -07:00
issue1615.go proc: increase maximum string length when loading string for binary ops (#1620) 2019-07-16 13:11:35 -07:00
issue1795.go proc: fix inlined stack reading for midstack inlined calls 2020-01-10 09:04:48 +01:00
issue1817.go dwarf/line: make LineToPCIn behave like LineToPC for lines without stmt 2020-01-09 09:41:44 -08:00
issue2023.go cmd/dlv: do not ignore regex when tracing pid (#2069) 2020-06-02 12:07:03 -07:00
issue2078.go proc: refresh cur thread/sel g after ContineOnce errors (#2081) 2020-06-11 11:46:00 -07:00
issue2086.go proc: use file:line at entry point in skipAutogeneratedWrappersOut (#2089) 2020-07-21 13:44:04 -07:00
linked_list.star terminal: adds embedded scripting language (#1466) 2019-07-02 10:55:27 -07:00
livetestprog.go (Mostly) working multithreaded tracing implementation 2014-10-25 08:59:22 -05:00
locationsprog2.go Disassemble command 2016-02-11 16:59:07 -08:00
locationsprog3.go debugger/locations: prioritize exact matches of function names (#651) 2016-10-21 22:04:03 -07:00
locationsprog.go debugger/locations: if locspec isn't found try interpreting it as expr (#858) 2017-07-26 12:52:51 -06:00
locationsUpperCase.go Fix path lookup logic on Windows. 2016-02-05 14:45:27 -08:00
loopprog.go Inject SIGTRAP for manual stop 2015-07-07 15:55:22 -05:00
math.go Go 1.7 compatibility (#524) 2016-05-29 12:20:09 -07:00
nextcond.go proc: next should not skip lines with conditional bps 2017-11-20 11:25:35 -08:00
notify-v2.go terminal: bugfix: deref of nil SelectedGoroutine switching goroutines (#829) 2017-05-08 11:16:14 -07:00
panic.go proc: implement target.Interface for core files 2017-04-18 13:25:11 -07:00
parallel_next.go command (next): Improvements for parallel programs 2015-08-20 09:32:59 -05:00
pkgrenames.go proc: support DW_AT_go_package_name (#1757) 2019-11-25 09:10:18 -08:00
plugintest2.go proc,proc/native,proc/gdbserial: initial plugin support (#1413) 2019-03-20 10:32:51 -07:00
plugintest.go proc,proc/native,proc/gdbserial: initial plugin support (#1413) 2019-03-20 10:32:51 -07:00
pr1055.go Remove limitation of exit notification only for specific API calls 2018-01-02 11:28:43 -08:00
restartargs.go command/terminal: allow restart to change process args (#1060) 2018-01-18 14:16:11 -08:00
retstack.go stack command: -full flag prints local variables and arguments of all the functions on the stack trace 2015-09-18 08:34:21 +02:00
scopeescapevareval.go proc: lexical block support 2017-08-01 11:20:25 -06:00
scopetest.go proc: correctly mark closure variables as shadowed (#1674) 2019-09-15 11:40:35 -07:00
sigchldprog.go Fix: Improve handling of soft signals on darwin 2015-08-11 19:20:25 -05:00
sleep.go proc/core: add support for windows minidumps 2018-11-21 12:17:16 -08:00
stacktraceprog.go Implement stack command 2015-06-20 15:29:33 -05:00
starlark_map_iteration.star pkg/terminal: Fix starlark map iteration for maps > 64 entries (#1699) 2019-10-07 09:35:58 -07:00
stepoutret.go proc,service: display return values when stepping out of a function 2018-06-12 11:35:56 +02:00
switch_to_main_goroutine.star terminal: adds embedded scripting language (#1466) 2019-07-02 10:55:27 -07:00
testargs.go proc: Fix command-line arguments on Windows (#501) 2016-04-21 14:20:38 -07:00
testdeadlock.go proc: catch fatal runtime errors (#1502) 2019-02-27 14:28:25 -08:00
testenv.go proc/gdbserial: pass environment variables to target (#820) 2017-05-04 10:46:45 -07:00
testinline.go proc,dwarf/line: support is_stmt and prologue_end flags 2018-06-11 11:09:02 -07:00
testnextdefer.go Improve 'next': return into deferred func 2015-05-09 12:44:38 -05:00
testnextnethttp.go proc: add test for attach/detach, fix detach (#773) 2017-03-28 09:30:27 -07:00
testnextprog.go Correctly handle hardware breakpoints across threads 2015-06-11 22:46:06 -05:00
testprog.go Fix: Linux - call wait4 on thread grp leader is broken 2015-06-26 22:10:09 -05:00
testrerecord.go *: add option to re-record recorded targets (#1702) 2019-10-21 11:48:04 -07:00
testreturnaddress.go Fix: Handle inability to find return addr 2015-08-10 10:45:33 -05:00
testruntimebreakpoint.go Handle runtime.Breakpoint 2015-04-25 14:13:35 -05:00
testshadow.go proc: lexical block support 2017-08-01 11:20:25 -06:00
teststep.go proc: step now goes to next line, including funcs 2016-01-24 15:48:36 -08:00
teststepconcurrent.go proc: Implement Step using Continue 2016-09-27 09:37:33 +02:00
teststepprog.go proc: Implement Step using Continue 2016-09-27 09:37:33 +02:00
testthreads.go Introduce JSON-RPC service 2015-06-21 21:11:30 -05:00
testvariables2.go proc: always resolve array types even if they don't appear in the 2019-10-29 09:04:36 +01:00
testvariables.go Go 1.15 support (#2011) 2020-07-28 09:19:51 -07:00
traceperf.go Trace optimizations (#695) 2017-02-07 13:08:11 -08:00
workdir.go Flag to set working directory (#650) 2016-11-01 12:58:42 -07:00
zdebug_line_dwarf4 Miscellaneous debug_line improvements (#1999) 2020-04-09 13:57:44 -07:00