delve/pkg/proc/core
Alessandro Arzilli 3b0c886598 proc: next/step/stepout restarts thread from wrong instruction (#1657)
proc.Next and proc.Step will call, after setting their temp
breakpoints, curthread.SetCurrentBreakpoint. This is intended to find
if one of the newly created breakpoints happens to be at the same
instruction that curthread is stopped at.
However SetCurrentBreakpoint is intended to be called after a Continue
and StepInstruction operation so it will also detect if curthread is
stopped one byte after a breakpoint.
If the instruction immediately preceeding the current instruction of
curthread happens to:
 1. have one of the newly created temp breakpoints
 2. be one byte long
SetCurrentBreakpoint will believe that we just hit that breakpoint and
therefore the instruction should be repeated, and thus rewind the PC of
curthread by 1.

We should distinguish between the two uses of SetCurrentBreakpoint and
disable the check for "just hit" breakpoints when inappropriate.

Fixes #1656
2019-08-12 15:11:19 -07:00
..
minidump *: Update import name to github.com/go-delve/delve 2019-01-04 19:43:13 +01:00
core_test.go proc/gdbserial: do not return floating point regs when not requested (#1497) 2019-02-26 08:53:45 -08:00
core.go proc: next/step/stepout restarts thread from wrong instruction (#1657) 2019-08-12 15:11:19 -07:00
linux_amd64_core.go *: Update import name to github.com/go-delve/delve 2019-01-04 19:43:13 +01:00
windows_amd64_minidump.go Miscellaneous logging improvements (#1525) 2019-03-27 14:58:36 -07:00