delve/pkg/proc
aarzilli 7bec20e5fc proc: avoid scanning system stack if it's not executing cgo
The runtime calls into g0 in many places, not necessarily using
runtime.systemstack or runtime.asmcgocall.
One example of this is the call to runtime.newstack inside
runtime.morestack.

If we stop the process while one goroutine is executing
runtime.newstack we would be unable to fully scan its stack because we
don't know that we have to switch back to the goroutine stack after
runtime.newstack.

Instead of tracking down every possible way that the runtime switches
to g0 we switch to the goroutine stack immediately after the top of the
stack, unless cgo is being executed on the systemstack.

Fixes #1066
2018-01-05 10:29:31 -08:00
..
core proc/test: miscellaneous test changes for go1.10 2017-12-13 12:18:18 -08:00
gdbserial proc/gdbserial: remove dead threads from thread list 2018-01-02 09:32:21 -08:00
native proc/native/linux: ignore ENODEV when retrieving fp registers 2017-11-21 11:48:39 -08:00
test cmd, proc/test: disable optimizations on the C compiler 2017-11-28 11:00:53 -08:00
arch.go proc: support cgo stacktraces 2017-11-28 11:00:53 -08:00
bininfo.go pkg/terminal: print DWARF location expression with whatis 2017-12-20 16:34:47 -08:00
breakpoints.go proc: next should not skip lines with conditional bps 2017-11-20 11:25:35 -08:00
disasm_amd64.go pkg/proc: fix StepBreakpoint handling 2017-11-21 00:40:26 -08:00
disasm.go pkg/proc: fix StepBreakpoint handling 2017-11-21 00:40:26 -08:00
doc.go Move top-level packages into pkg 2017-02-08 12:17:19 -08:00
dwarf_expr_test.go proc/test: miscellaneous test changes for go1.10 2017-12-13 12:18:18 -08:00
eval.go pkg/proc: use constants to describe variable value 2017-12-13 12:18:18 -08:00
interface.go proc: breakpoints refactoring 2017-11-20 11:25:35 -08:00
mem.go pkg/proc, pkg/dwarf/op: support DW_OP_piece, DW_OP_regX, DW_OP_fbreg 2017-11-21 11:51:02 -08:00
moduledata.go pkg/proc: use constants to describe variable value 2017-12-13 12:18:18 -08:00
proc_general_test.go proc: refactoring: split backends to separate packages 2017-04-21 14:00:04 -07:00
proc_test.go proc: avoid scanning system stack if it's not executing cgo 2018-01-05 10:29:31 -08:00
proc_unix_test.go Fix various issues detected by megacheck (#880) 2017-06-29 11:15:59 -07:00
proc.go proc: support cgo stacktraces 2017-11-28 11:00:53 -08:00
registers_amd64.go pkg/proc, pkg/dwarf/op: support DW_OP_piece, DW_OP_regX, DW_OP_fbreg 2017-11-21 11:51:02 -08:00
registers.go proc: refactor stack.go to use DWARF registers 2017-11-17 10:17:24 -08:00
scope_test.go proc: next should not skip lines with conditional bps 2017-11-20 11:25:35 -08:00
stack.go proc: avoid scanning system stack if it's not executing cgo 2018-01-05 10:29:31 -08:00
threads.go proc: check error accessing g.m.curg in GetG 2018-01-03 10:03:05 -08:00
types.go proc, terminal: use DW_AT_producer to warn user about optimized code 2017-12-13 12:18:18 -08:00
variables.go pkg/terminal: print DWARF location expression with whatis 2017-12-20 16:34:47 -08:00