delve/pkg
Alessandro Arzilli 658d36cb19
proc: allow multiple overlapping internal breakpoints (#2519)
Changes Breakpoint to allow multiple overlapping internal breakpoints
on the same instruction address.
This is done by changing the Breakpoint structure to contain a list of
"breaklets", each breaklet has a BreakpointKind and a condition
expression, independent of the other.
A breakpoint is considered active if any of its breaklets are active.
A breakpoint is removed when all its breaklets are removed.
We also change the terminology "internal breakpoint" to "stepping
breakpoint":

HasInternalBreakpoints -> HasSteppingBreakpoints
IsInternal -> IsStepping
etc...

The motivation for this change is implementing watchpoints on stack
variables.
Watching a stack variable requires also setting a special breakpoint to
find out when the variable goes out of scope. These breakpoints can not
be UserBreakpoints because only one user breakpoint is allowed on the
same instruction and they can not be internal breakpoints because they
should not be cleared when a next operation is completed (they should
be cleared when the variable watch is cleared).

Updates #279
2021-07-21 08:24:19 -07:00
..
astutil proc: simplify next/step/stepout condition code 2020-04-04 11:00:54 -07:00
config terminal: Go syntax highlighting for listings (#2294) 2021-01-28 07:08:14 -08:00
dwarf proc,dwarf: Improve DWARF v5 support (#2544) 2021-06-22 13:37:46 +02:00
elfwriter terminal,service,proc/*: adds dump command (gcore equivalent) (#2173) 2021-01-29 13:39:33 -08:00
gobuild service/dap: move build error to output event (#2482) 2021-05-17 09:13:25 -07:00
goversion *: Release 1.7.0 (#2591) 2021-07-16 15:31:52 +02:00
locspec locspec,proc: improve documentation (#2338) 2021-02-10 09:31:37 -08:00
logflags service/rpccommon: log error for conns rejected by --only-same-user (#2211) 2020-10-22 08:23:55 -07:00
proc proc: allow multiple overlapping internal breakpoints (#2519) 2021-07-21 08:24:19 -07:00
terminal terminal,service: Add filtering and grouping to goroutines command (#2504) 2021-07-01 11:25:33 -07:00
version *: Release 1.7.0 (#2591) 2021-07-16 15:31:52 +02:00