delve/pkg/proc
aarzilli bc86c662a6 pkg/proc: fix StepBreakpoint handling
StepBreakpoints are set on CALL instructions, when they are hit we
disassemble the current instruction, figure out the destination address
and set a breakpoint after the prologue of the called function.

In order to disassemble the current instruction we disassemble the area
of memory starting from PC and going to PC+15 (because 15 bytes is the
maximum length of one instruction on AMD64). This means that we won't
just disassemble one instruction but also a few instructions following
it ending with one truncated instruction.

This usually works fine but sometimes the disassembler will panic with
an array out of bounds error when trying to disassemble a truncated
instruction. To avoid this problem this commit changes the funciton
disassemble to take one extra parameter, singleInstr, when singleInstr
is set disassemble will quit after disassembling a single instruction.
2017-11-21 00:40:26 -08:00
..
core proc: next should not skip lines with conditional bps 2017-11-20 11:25:35 -08:00
gdbserial proc: next should not skip lines with conditional bps 2017-11-20 11:25:35 -08:00
native proc: next should not skip lines with conditional bps 2017-11-20 11:25:35 -08:00
test pkg/prog/test: add flag to run target with -race flag 2017-11-15 08:51:57 -08:00
arch.go proc: refactor stack.go to use DWARF registers 2017-11-17 10:17:24 -08:00
bininfo.go pkg/dwarf/line: improve performance 2017-11-03 20:57:04 +01:00
breakpoints.go proc: next should not skip lines with conditional bps 2017-11-20 11:25:35 -08:00
disasm_amd64.go pkg/proc: fix StepBreakpoint handling 2017-11-21 00:40:26 -08:00
disasm.go pkg/proc: fix StepBreakpoint handling 2017-11-21 00:40:26 -08:00
doc.go Move top-level packages into pkg 2017-02-08 12:17:19 -08:00
eval.go proc: support access to chan buffers 2017-11-20 12:03:35 -08:00
interface.go proc: breakpoints refactoring 2017-11-20 11:25:35 -08:00
mem.go proc: refactoring: split backends to separate packages 2017-04-21 14:00:04 -07:00
moduledata.go proc: next, stepout should work on recursive goroutines (#831) 2017-05-16 11:23:33 -07:00
proc_general_test.go proc: refactoring: split backends to separate packages 2017-04-21 14:00:04 -07:00
proc_test.go proc: next should not skip lines with conditional bps 2017-11-20 11:25:35 -08:00
proc_unix_test.go Fix various issues detected by megacheck (#880) 2017-06-29 11:15:59 -07:00
proc.go pkg/proc: fix StepBreakpoint handling 2017-11-21 00:40:26 -08:00
registers.go proc: refactor stack.go to use DWARF registers 2017-11-17 10:17:24 -08:00
scope_test.go proc: next should not skip lines with conditional bps 2017-11-20 11:25:35 -08:00
stack.go pkg/proc: remove callFrameRegs from stackIterator 2017-11-17 12:55:40 -08:00
threads.go pkg/proc: fix StepBreakpoint handling 2017-11-21 00:40:26 -08:00
types.go proc: replace all uses of gosymtab/gopclntab with uses of debug_line 2017-11-03 20:57:04 +01:00
variables.go proc: automatically dereference interfaces on member access 2017-11-20 12:03:35 -08:00