delve/pkg/proc
Alessandro Arzilli ec5fcc07fe
proc,service/debugger: track how breakpoints were originally set (#3148)
Adds field to breakpoint struct to track how a breakpoint was
originally set, moves the logic for disabling and enabling a breakpoint
to proc.
This will allow creating suspended breakpoints that are automatically
enabled when a plugin is loaded. When follow exec mode is implemented
it will also be possible to automatically enable breakpoints (whether
or not they were suspended) on new child processes, as they are
spawned.

It also improves breakpoint restore after a restart, before this after
a restart breakpoints would be re-enabled using their file:line
position, for breakpoints set using a function name or a location
expression this could be the wrong location after a recompile.

Updates #1653
Updates #2551
2022-09-28 11:35:07 -07:00
..
amd64util fmt code (#2826) 2021-12-13 10:25:23 -08:00
core proc/native: refactor windows framework (#3079) 2022-07-27 18:36:34 +02:00
debuginfod Implement source listing from debuginfo (#2885) 2022-01-30 13:39:30 -08:00
fbsdutil pkg/proc: fix and improve freebsd register handling (#3019) 2022-05-31 16:04:36 -07:00
gdbserial Add support for windows/arm64 (#3063) 2022-09-21 13:39:44 -07:00
internal/ebpf pkg/proc/internal/ebpf: Fix handling of entry / return (#3081) 2022-07-29 12:00:32 +02:00
linutil proc: fix RFLAGS corruption after call injection on amd64 (#3002) 2022-05-05 08:41:40 -07:00
macutil fmt code (#2826) 2021-12-13 10:25:23 -08:00
native proc/native: fix support_sentinel_darwin.go name (#3147) 2022-09-26 10:05:04 -07:00
test proc: make sure logical breakpoints map exists (#3115) 2022-08-22 12:48:34 -07:00
winutil Add support for windows/arm64 (#3063) 2022-09-21 13:39:44 -07:00
amd64_arch.go Add support for windows/arm64 (#3063) 2022-09-21 13:39:44 -07:00
amd64_disasm.go proc: remove duplicate Registers.Get implementations (#2415) 2021-04-28 10:00:26 -07:00
arch.go Add support for windows/arm64 (#3063) 2022-09-21 13:39:44 -07:00
arm64_arch.go Add support for windows/arm64 (#3063) 2022-09-21 13:39:44 -07:00
arm64_disasm.go proc: remove duplicate Registers.Get implementations (#2415) 2021-04-28 10:00:26 -07:00
bininfo.go proc: fix openSeparateDebugInfo backwards compatibility path (#3145) 2022-09-26 10:09:06 -07:00
breakpoints.go proc,service/debugger: track how breakpoints were originally set (#3148) 2022-09-28 11:35:07 -07:00
disasm.go proc/internal/ebpf: drop dependency on cgo (#3072) 2022-07-22 19:39:18 +02:00
doc.go *: run go1.19 'go fmt' on everything and fix problems (#3031) 2022-06-17 10:08:11 -07:00
dump.go *: fix some typos 2022-03-23 16:10:00 +01:00
dwarf_export_test.go proc: fix RFLAGS corruption after call injection on amd64 (#3002) 2022-05-05 08:41:40 -07:00
dwarf_expr_test.go dwarf/op,proc: output register name when printing location exprs (#3052) 2022-07-15 14:56:00 +02:00
eval_go117.go proc: better error messages for ambiguous function calls/type casts (#2903) 2022-02-22 09:55:59 -08:00
eval_go118.go proc: better error messages for ambiguous function calls/type casts (#2903) 2022-02-22 09:55:59 -08:00
eval.go *: switch to int64 for goroutine IDs (#3110) 2022-08-16 09:31:11 -07:00
fncall.go proc,service/debugger: introduce TargetGroup abstraction (#3030) 2022-07-14 14:14:45 -07:00
goroutine_cache.go *: switch to int64 for goroutine IDs (#3110) 2022-08-16 09:31:11 -07:00
i386_arch.go dwarf/op,proc: output register name when printing location exprs (#3052) 2022-07-15 14:56:00 +02:00
i386_disasm.go proc: remove duplicate Registers.Get implementations (#2415) 2021-04-28 10:00:26 -07:00
interface.go proc,service/debugger: introduce TargetGroup abstraction (#3030) 2022-07-14 14:14:45 -07:00
mem.go pkg/proc: merge register data before writing to register (#2699) 2021-09-24 15:27:44 -07:00
moduledata.go _scripts: auto check that pkg/proc and runtime are synchronized (#2557) 2021-08-23 11:32:02 -07:00
pe.go proc: fix typo 'unkown' => 'unknown' (#2473) 2021-05-10 11:36:03 -07:00
proc_export_test.go proc,service/debugger: introduce TargetGroup abstraction (#3030) 2022-07-14 14:14:45 -07:00
proc_general_test.go Add support for windows/arm64 (#3063) 2022-09-21 13:39:44 -07:00
proc_linux_test.go proc/*: add launch option to disable ASLR (#2202) 2020-10-21 12:50:52 -07:00
proc_test.go Add support for windows/arm64 (#3063) 2022-09-21 13:39:44 -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 proc,service/debugger: introduce TargetGroup abstraction (#3030) 2022-07-14 14:14:45 -07:00
registers.go proc: support function call injection on arm64 (#2996) 2022-05-03 10:46:24 -07:00
scope_test.go *: run go1.19 'go fmt' on everything and fix problems (#3031) 2022-06-17 10:08:11 -07:00
stack.go Updates for go1.18beta1 (#2831) 2021-12-22 10:26:21 -08:00
stackwatch.go proc,service/debugger: introduce TargetGroup abstraction (#3030) 2022-07-14 14:14:45 -07:00
target_exec.go fix StepInstruction on 1 byte instruction with a software breackpoint (#3084) 2022-08-01 09:03:19 -07:00
target_group.go proc,service/debugger: track how breakpoints were originally set (#3148) 2022-09-28 11:35:07 -07:00
target.go *: switch to int64 for goroutine IDs (#3110) 2022-08-16 09:31:11 -07:00
threads.go :* Improve trace subcommand output (#3091) 2022-08-04 10:10:54 +02:00
types.go *: run go1.19 'go fmt' on everything and fix problems (#3031) 2022-06-17 10:08:11 -07:00
variable_test.go pkg/proc: Move proc exec funcs to Target methods 2020-03-25 17:45:12 +01:00
variables_test.go proc: fix cast to empty interface type (#3146) 2022-09-26 10:08:01 -07:00
variables.go proc,_scripts/rtype.go: add rtype annotations for g.atomicstatus (#3143) 2022-09-26 10:10:51 -07:00
x86_disasm.go proc: remove duplicate Registers.Get implementations (#2415) 2021-04-28 10:00:26 -07:00