delve/pkg/proc
Alessandro Arzilli 06053a7e4b
proc: fix bug with stack watchpoints going out of scope (#3742)
When stack watchpoints go out of scope simultaneously they can hide (or
duplicate the effect) of other breakpoints (including other watchpoints
going out of scope) that are placed on the same physical memory
location.

This happens because we delete the watchpoint-out-of-scope breakpoint
while we are evaluating hit breakpoints, mangling the breaklets list.

This commit moves breakpoint deletion out of the
watchpoint-out-of-scope condition, delaying it until all hit
breakpoints have been evaluated.

Also fix bug where on amd64 if all four watchpoints are in use the last
one is not checked.

Fixes #3739
2024-06-12 12:37:04 -07:00
..
amd64util proc: fix bug with stack watchpoints going out of scope (#3742) 2024-06-12 12:37:04 -07:00
core *: remove redundant lines at the start/end of block (#3730) 2024-05-20 14:16:22 -07:00
debuginfod debuginfod-find stderr may contain diagnostics; look at stdout only for filename (#3381) 2023-05-23 11:11:51 -07:00
evalop *: remove redundant lines at the start/end of block (#3730) 2024-05-20 14:16:22 -07:00
fbsdutil pkg/proc: fix and improve freebsd register handling (#3019) 2022-05-31 16:04:36 -07:00
gdbserial proc/gdbserial: add environment variables to configure rr invocation (#3726) 2024-05-24 11:33:23 -07:00
internal/ebpf *: Correct spelling mistakes (#3555) 2023-11-06 07:55:44 -06:00
linutil proc: fix dynamic library loading with musl loader (#3621) 2024-01-10 07:33:35 -08:00
macutil all: remove obsolete build tags "// +build" (#3513) 2023-10-03 08:50:11 -07:00
native proc,go.mod: update x/sys remove KeepAlive calls (#3680) 2024-03-04 11:36:46 -08:00
test *: remove checks for TRAVIS env variable (#3568) 2023-11-16 10:42:41 -08:00
winutil pkg,service: remove unnecessary convertions (#3564) 2023-11-14 16:36:55 +01:00
amd64_arch.go proc: simplify and generalize runtime.mallocgc workaround (#3571) 2023-11-20 10:43:15 -08:00
amd64_disasm.go pkg/proc: apply simplifycompositelit analysis fixes (#3236) 2023-01-03 08:13:28 -08:00
arch.go proc: simplify and generalize runtime.mallocgc workaround (#3571) 2023-11-20 10:43:15 -08:00
arm64_arch.go proc: simplify and generalize runtime.mallocgc workaround (#3571) 2023-11-20 10:43:15 -08:00
arm64_disasm.go pkg,service: remove unnecessary convertions (#3564) 2023-11-14 16:36:55 +01:00
bininfo.go proc: initial stepping with range-over-func support (#3736) 2024-06-04 12:52:30 -07:00
breakpoints.go pkg/terminal,service/debugger: Support to add a new suboption --follow-calls to trace subcommand (#3594) 2024-06-12 12:35:48 -07:00
disasm.go pkg,service: remove unnecessary convertions (#3564) 2023-11-14 16:36:55 +01:00
doc.go *: run go1.19 'go fmt' on everything and fix problems (#3031) 2022-06-17 10:08:11 -07:00
dump.go *: add ppc64le support (#2963) 2023-07-07 09:30:38 -07:00
dwarf_export_test.go pkg/proc: pad variable mem in extractVarInfoFromEntry (#3365) 2023-05-15 14:46:33 -07:00
dwarf_expr_test.go *: remove redundant lines at the start/end of block (#3730) 2024-05-20 14:16:22 -07:00
eval.go proc: generalize escapeCheck and allocString (#3687) 2024-04-19 08:44:47 -07:00
fncall.go proc: generalize escapeCheck and allocString (#3687) 2024-04-19 08:44:47 -07:00
goroutine_cache.go pkg/proc: enable basic debug functionality for stripped ELF binaries (#3408) 2023-06-14 13:23:46 +02:00
i386_arch.go proc: fix stacktraces on freebsd/amd64/go1.20 (#3458) 2023-08-14 15:32:15 -07:00
i386_disasm.go dwarf,proc: fix typos in comments and error messages (#3379) 2023-05-23 18:22:20 +02:00
interface.go proc/gdbserver: clean up rr directory on detach (#3570) 2024-01-24 09:21:20 -08:00
mem.go pkg,service: remove unnecessary convertions (#3564) 2023-11-14 16:36:55 +01:00
moduledata.go *: remove redundant lines at the start/end of block (#3730) 2024-05-20 14:16:22 -07:00
pclntab.go pkg/proc: remove usage of gore dependency (#3664) 2024-02-21 12:10:41 +01:00
pe.go proc: fix typo 'unkown' => 'unknown' (#2473) 2021-05-10 11:36:03 -07:00
ppc64le_arch.go proc: simplify and generalize runtime.mallocgc workaround (#3571) 2023-11-20 10:43:15 -08:00
ppc64le_disasm.go *: update dependencies (#3552) 2023-11-04 17:07:55 +01:00
proc_amd64_test.go pkg/terminal,pkg/proc: Implement next-instruction (#3671) 2024-02-28 09:28:33 +01:00
proc_darwin_amd64_test.go pkg/terminal,pkg/proc: Implement next-instruction (#3671) 2024-02-28 09:28:33 +01:00
proc_darwin_test.go pkg/proc: unskip passing tests and reorganize (#3561) 2023-11-12 12:01:21 +01:00
proc_general_test.go pkg,service: remove unnecessary convertions (#3564) 2023-11-14 16:36:55 +01:00
proc_linux_test.go TeamCity: speed up ppc64le CI (#3622) 2024-01-09 14:13:00 -08:00
proc_test.go proc: fix bug with stack watchpoints going out of scope (#3742) 2024-06-12 12:37:04 -07:00
proc_unexported_test.go proc: correctly truncate the result of binary ops on integers (#2463) 2021-05-17 10:31:05 -07:00
proc_unix_test.go all: remove obsolete build tags "// +build" (#3513) 2023-10-03 08:50:11 -07:00
redirect.go pkg/proc,service/*: Supports sending output to clients when running programs remotely (#3253) 2023-07-05 08:39:01 -07:00
redirector_other.go all: remove obsolete build tags "// +build" (#3513) 2023-10-03 08:50:11 -07:00
redirector_windows.go pkg,service: Remove redundant build constraints (#3556) 2023-11-06 16:22:50 +01:00
registers.go proc: support function call injection on arm64 (#2996) 2022-05-03 10:46:24 -07:00
scope_test.go *: remove redundant lines at the start/end of block (#3730) 2024-05-20 14:16:22 -07:00
stack_sigtramp.go *: remove redundant lines at the start/end of block (#3730) 2024-05-20 14:16:22 -07:00
stack.go proc: initial stepping with range-over-func support (#3736) 2024-06-04 12:52:30 -07:00
stackwatch.go proc: fix bug with stack watchpoints going out of scope (#3742) 2024-06-12 12:37:04 -07:00
target_exec.go proc: fix bug with stack watchpoints going out of scope (#3742) 2024-06-12 12:37:04 -07:00
target_group.go proc/gdbserver: clean up rr directory on detach (#3570) 2024-01-24 09:21:20 -08:00
target.go pky/proc: enable function call injection in Delve for linux/ppc64le (#3449) 2023-09-21 10:39:57 -07:00
threads.go proc: move StepInstruction method to TargetGroup (#3488) 2023-09-20 09:17:45 +02:00
types.go tests: fix tests on Go 1.23 (#3697) 2024-04-11 09:40:57 -07:00
variable_test.go *: remove redundant lines at the start/end of block (#3730) 2024-05-20 14:16:22 -07:00
variables_fuzz_test.go proc: use stack machine to evaluate expressions (#3508) 2023-10-17 11:21:59 -07:00
variables_test.go *: remove redundant lines at the start/end of block (#3730) 2024-05-20 14:16:22 -07:00
variables.go proc: initial stepping with range-over-func support (#3736) 2024-06-04 12:52:30 -07:00
x86_disasm.go proc: remove duplicate Registers.Get implementations (#2415) 2021-04-28 10:00:26 -07:00