delve/pkg/dwarf/line
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
..
_testdata dwarf/line: fix some bugs with the state machine 2018-07-31 12:01:14 -07:00
line_parser_test.go proc,dwarf: Improve DWARF v5 support (#2544) 2021-06-22 13:37:46 +02:00
line_parser.go proc/dwarf: Move util functions to dwarf package (#3252) 2023-01-16 09:20:20 -08:00
parse_util.go proc/dwarf: Move util functions to dwarf package (#3252) 2023-01-16 09:20:20 -08:00
state_machine_test.go proc/dwarf: Move util functions to dwarf package (#3252) 2023-01-16 09:20:20 -08:00
state_machine.go dwarf/line: handle end_seq properly (#3277) 2023-02-20 10:36:09 +01:00