delve/pkg/proc
Derek Parker cac86b8791
dwarf/line: handle end_seq properly (#3277)
This patch changes how we handle end_seq in the debug_line state machine
program. Instead of always considering the state machine invalid at the
end_seq instead simply consider the *current* address invalid. This
solves a number of issues such as incorrect disassemble output for the
last few instructions in certain functions, and creating an eval scope
at an address within the last few instructions of certain functions. It
also handles the case where the end_seq address is the same as the start
address of the next adjacent function, which would previously confuse
Delve which is why we initially marked end_seq as invalid for the entire
state machine. This approach is more nuanced and still solves that
initial problem while fixing some problems introduced by that patch.
2023-02-20 10:36:09 +01:00
..
amd64util fmt code (#2826) 2021-12-13 10:25:23 -08:00
core cmd/dlv, pkg/proc: use T.TempDir in tests (#3256) 2023-01-30 15:04:55 -08: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 terminal/logflags: Added SetLoggerFactory(LoggerFactory) (#3257) 2023-02-14 09:46:35 -08:00
internal/ebpf pkg/proc/internal/ebpf: Fix handling of entry / return (#3081) 2022-07-29 12:00:32 +02:00
linutil *: Change comments to match common Go standarts (#3221) 2022-12-14 08:56:07 -08:00
macutil fmt code (#2826) 2021-12-13 10:25:23 -08:00
native pkg/proc,service/test: refactor to strings.ReplaceAll (#3269) 2023-02-14 09:36:24 -08:00
test pkg/proc,service/test: refactor to strings.ReplaceAll (#3269) 2023-02-14 09:36:24 -08:00
winutil Add support for windows/arm64 (#3063) 2022-09-21 13:39:44 -07:00
amd64_arch.go pkg/proc: fix arm64 linux cgo stacktrace (#3192) 2022-11-15 09:05:43 +01:00
amd64_disasm.go pkg/proc: apply simplifycompositelit analysis fixes (#3236) 2023-01-03 08:13:28 -08:00
arch.go Add support for windows/arm64 (#3063) 2022-09-21 13:39:44 -07:00
arm64_arch.go *: Change comments to match common Go standarts (#3221) 2022-12-14 08:56:07 -08:00
arm64_disasm.go *: Change comments to match common Go standarts (#3221) 2022-12-14 08:56:07 -08:00
bininfo.go terminal/logflags: Added SetLoggerFactory(LoggerFactory) (#3257) 2023-02-14 09:46:35 -08:00
breakpoints.go proc,terminal: allow setting suspended breakpoints (#3154) 2022-10-04 08:07:05 -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 proc: Fix typos in the comments (#3231) 2022-12-28 12:41:13 +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 dwarf/line: handle end_seq properly (#3277) 2023-02-20 10:36:09 +01:00
fncall.go *: remove some code for Go 1.12 or earlier (#3271) 2023-02-14 09:38:15 -08:00
goroutine_cache.go *: switch to int64 for goroutine IDs (#3110) 2022-08-16 09:31:11 -07:00
i386_arch.go pkg/proc: apply simplifycompositelit analysis fixes (#3236) 2023-01-03 08:13:28 -08:00
i386_disasm.go pkg/proc: apply simplifycompositelit analysis fixes (#3236) 2023-01-03 08:13:28 -08:00
interface.go *: Change comments to match common Go standarts (#3221) 2022-12-14 08:56:07 -08:00
mem.go pkg/proc: merge register data before writing to register (#2699) 2021-09-24 15:27:44 -07:00
moduledata.go proc: remove old method to resolve the type of an interface to a DIE (#3150) 2022-09-29 10:06:15 -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 *: remove some code for Go 1.12 or earlier (#3271) 2023-02-14 09:38:15 -08: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 pkg/proc,service/test: refactor to strings.ReplaceAll (#3269) 2023-02-14 09:36:24 -08:00
stack.go proc: Fix typos in the comments (#3231) 2022-12-28 12:41:13 +01:00
stackwatch.go proc,terminal: allow setting suspended breakpoints (#3154) 2022-10-04 08:07:05 -07:00
target_exec.go pkg/proc: apply simplifycompositelit analysis fixes (#3236) 2023-01-03 08:13:28 -08:00
target_group.go proc: Fix typos in the comments (#3231) 2022-12-28 12:41:13 +01:00
target.go proc: Fix typos in the comments (#3231) 2022-12-28 12:41:13 +01:00
threads.go :* Improve trace subcommand output (#3091) 2022-08-04 10:10:54 +02:00
types.go proc: remove unused parameter from resolveParametricType (#3276) 2023-02-15 11:35:37 -08:00
variable_test.go pkg/proc: Move proc exec funcs to Target methods 2020-03-25 17:45:12 +01:00
variables_test.go *: remove some code for Go 1.12 or earlier (#3271) 2023-02-14 09:38:15 -08:00
variables.go proc: remove unused parameter from resolveParametricType (#3276) 2023-02-15 11:35:37 -08:00
x86_disasm.go proc: remove duplicate Registers.Get implementations (#2415) 2021-04-28 10:00:26 -07:00