proc,dwarf/line: support is_stmt and prologue_end flags

Go1.11 uses the is_stmt flag of .debug_line to communicate which
assembly instructions are good places for breakpoints, we should
respect this flag.

These changes were introduced by:
* https://go-review.googlesource.com/c/go/+/102435/

Additionally when setting next breakpoints ignore all PC addresses that
belong to the same line as the one currently under at the cursor. This
matches the behavior of gdb and avoids stopping multiple times at the
heading line of a for statement with go1.11.

Change: https://go-review.googlesource.com/c/go/+/110416 adds the
prologue_end flag to the .debug_line section to communicate the end of
the stack-split prologue. We should use it instead of pattern matching
the disassembly when available.

Fixes #550

type of interfaces
'c7cde8b'.
This commit is contained in:
aarzilli
2018-03-25 10:04:32 +02:00
committed by Derek Parker
parent 77056de757
commit 5155ef047f
23 changed files with 210 additions and 68 deletions

View File

@ -36,6 +36,7 @@ Pass flags to the program you are debugging using `--`, for example:
debugger Log debugger commands
gdbwire Log connection to gdbserial backend
lldbout Copy output from debugserver/lldb to standard output
debuglineerr Log recoverable errors reading .debug_line
Defaults to "debugger" when logging is enabled with --log.
--wd string Working directory for running the program. (default ".")
```

View File

@ -36,6 +36,7 @@ dlv attach pid [executable]
debugger Log debugger commands
gdbwire Log connection to gdbserial backend
lldbout Copy output from debugserver/lldb to standard output
debuglineerr Log recoverable errors reading .debug_line
Defaults to "debugger" when logging is enabled with --log.
--wd string Working directory for running the program. (default ".")
```

View File

@ -31,6 +31,7 @@ dlv connect addr
debugger Log debugger commands
gdbwire Log connection to gdbserial backend
lldbout Copy output from debugserver/lldb to standard output
debuglineerr Log recoverable errors reading .debug_line
Defaults to "debugger" when logging is enabled with --log.
--wd string Working directory for running the program. (default ".")
```

View File

@ -35,6 +35,7 @@ dlv core <executable> <core>
debugger Log debugger commands
gdbwire Log connection to gdbserial backend
lldbout Copy output from debugserver/lldb to standard output
debuglineerr Log recoverable errors reading .debug_line
Defaults to "debugger" when logging is enabled with --log.
--wd string Working directory for running the program. (default ".")
```

View File

@ -42,6 +42,7 @@ dlv debug [package]
debugger Log debugger commands
gdbwire Log connection to gdbserial backend
lldbout Copy output from debugserver/lldb to standard output
debuglineerr Log recoverable errors reading .debug_line
Defaults to "debugger" when logging is enabled with --log.
--wd string Working directory for running the program. (default ".")
```

View File

@ -36,6 +36,7 @@ dlv exec <path/to/binary>
debugger Log debugger commands
gdbwire Log connection to gdbserial backend
lldbout Copy output from debugserver/lldb to standard output
debuglineerr Log recoverable errors reading .debug_line
Defaults to "debugger" when logging is enabled with --log.
--wd string Working directory for running the program. (default ".")
```

View File

@ -35,6 +35,7 @@ dlv replay [trace directory]
debugger Log debugger commands
gdbwire Log connection to gdbserial backend
lldbout Copy output from debugserver/lldb to standard output
debuglineerr Log recoverable errors reading .debug_line
Defaults to "debugger" when logging is enabled with --log.
--wd string Working directory for running the program. (default ".")
```

View File

@ -31,6 +31,7 @@ dlv run
debugger Log debugger commands
gdbwire Log connection to gdbserial backend
lldbout Copy output from debugserver/lldb to standard output
debuglineerr Log recoverable errors reading .debug_line
Defaults to "debugger" when logging is enabled with --log.
--wd string Working directory for running the program. (default ".")
```

View File

@ -42,6 +42,7 @@ dlv test [package]
debugger Log debugger commands
gdbwire Log connection to gdbserial backend
lldbout Copy output from debugserver/lldb to standard output
debuglineerr Log recoverable errors reading .debug_line
Defaults to "debugger" when logging is enabled with --log.
--wd string Working directory for running the program. (default ".")
```

View File

@ -44,6 +44,7 @@ dlv trace [package] regexp
debugger Log debugger commands
gdbwire Log connection to gdbserial backend
lldbout Copy output from debugserver/lldb to standard output
debuglineerr Log recoverable errors reading .debug_line
Defaults to "debugger" when logging is enabled with --log.
--wd string Working directory for running the program. (default ".")
```

View File

@ -31,6 +31,7 @@ dlv version
debugger Log debugger commands
gdbwire Log connection to gdbserial backend
lldbout Copy output from debugserver/lldb to standard output
debuglineerr Log recoverable errors reading .debug_line
Defaults to "debugger" when logging is enabled with --log.
--wd string Working directory for running the program. (default ".")
```