1. 10 8月, 2019 4 次提交
  2. 02 8月, 2019 2 次提交
    • A
      cmd/dlv: actually disable C compiler optimizations when building (#1647) · c9c455cc
      Alessandro Arzilli 提交于
      * proc: fix stacktraces when a SIGSEGV happens during a cgo call
      
      When a SIGSEGV happens in a cgo call (for example as a result of
      dereferencing a NULL pointer) the stack layout will look like this:
      
      (system stack) runtime.fatalthrow
      (system stack) runtime.throw
      (system stack) runtime.sigpanic
      (system stack) offending C function
      ... other C functions...
      (system stack) runtime.asmcgocall
      (goroutine stack) call inside cgo
      
      The code in switchStack would switch directly from the
      runtime.fatalthrow frame to the first frame in the goroutine stack,
      hiding important information.
      
      Disable this switch for runtime.fatalthrow and reintroduce the check
      for runtime.mstart that existed before this version of the code was
      implemented in commit 7bec20.
      
      This problem was reported in comment:
      https://github.com/go-delve/delve/issues/935#issuecomment-512182533
      
      * cmd/dlv: actually disable C compiler optimizations when building
      c9c455cc
    • A
      Documentation,cmd/dlv: tidy up --help output (#1649) · 2bd1cd3f
      Alessandro Arzilli 提交于
      * scripts: use relative path in gen-cli-docs.go
      
      Makes gen-cli-docs.go work outside GOPATH.
      
      * Documentation,cmd/dlv: tidy up --help output
      
      The description of --log-dest, --log-output and --backend is very
      verbose and messes up the output of --help, move it to two "additional
      help" subcommands.
      2bd1cd3f
  3. 01 8月, 2019 2 次提交
  4. 30 7月, 2019 2 次提交
    • D
      *: Add .cirrus.yml for FreeBSD testing (#1639) · f4eaad69
      Derek Parker 提交于
      * *: Add .cirrus.yml for FreeBSD testing
      
      * *: run go mod tidy
      
      * service/test: prefer 127.0.0.1 over localhost
      
      * dwarf/line: fix TestDebugLinePrologueParser
      
      * vendor: rerun go mod vendor
      f4eaad69
    • J
      terminal/command: add support for next [count] (#1629) · 1a478cdb
      Jeremy Faller 提交于
      * terminal/command: add support for next [count]
      
      * disallow negative counts.
      
      * handle github comments, and regen docs.
      
      * Fix the fact that we don't print the file info in the last step of the next count.
      
      * Fix a typo, cleanup a few other observations.
      1a478cdb
  5. 28 7月, 2019 1 次提交
  6. 27 7月, 2019 2 次提交
    • A
    • A
      proc: ignore DW_TAG_inlined_subroutine entries without abstract origin (#1637) · b65882a5
      Alessandro Arzilli 提交于
      GCC produces DW_TAG_inlined_subroutine entries without a
      DW_AT_abstract_origin attribute.
      From the bug report:
      
       <1><1fe6c7c>: Abbrev Number: 41 (DW_TAG_subprogram)
          <1fe6c7d>   DW_AT_external    : 1
          <1fe6c7d>   DW_AT_name        : (indirect string, offset: 0x485814): MultiGetImpl
          (omissis)
       <2><1fe6c9e>: Abbrev Number: 65 (DW_TAG_inlined_subroutine)
          <1fe6c9f>   DW_AT_low_pc      : 0x311023a
          <1fe6ca7>   DW_AT_high_pc     : 0x5
          <1fe6caf>   DW_AT_call_file   : 10
          <1fe6cb0>   DW_AT_call_line   : 1690
       <2><1fe6cb2>: Abbrev Number: 20 (DW_TAG_inlined_subroutine)
          <1fe6cb3>   DW_AT_abstract_origin: <0x1ffb534>
          <1fe6cb7>   DW_AT_entry_pc    : 0x311023f
          <1fe6cbf>   DW_AT_ranges      : 0xe9bf20
          <1fe6cc3>   DW_AT_call_file   : 10
          <1fe6cc4>   DW_AT_call_line   : 1690
      
      Inlined subroutine at 1fe6c9e doesn't have abstract origin, a name or a
      declaration location. It's unclear whether this is in-standard and what
      it even means.
      
      Let's ignore it.
      
      Fixes #1636
      b65882a5
  7. 24 7月, 2019 2 次提交
    • A
      gdbserial: propagate signals to target while stepping (#1624) · dcc1030d
      Alessandro Arzilli 提交于
      Propagate signals when stepping because debugserver will report them,
      from the issue:
      
      2019-07-11T16:31:25+02:00 debug layer=gdbconn <- $z0,105525d,1#c9
      2019-07-11T16:31:25+02:00 debug layer=gdbconn -> $OK#00
      2019-07-11T16:31:25+02:00 debug layer=gdbconn <- $vCont;s:c41c3#50
      2019-07-11T16:31:25+02:00 debug layer=gdbconn -> $T1cthread:c41c3;threads:c41c3,c41d7,c41d8,c41d9,c41da;thread-pcs:105525d,7fffc464bf46,7fffc464bbf2,7fffc464bbf2,7fffc46...
      2019-07-11T16:31:25+02:00 debug layer=gdbconn <- $Z0,105525d,1#a9
      2019-07-11T16:31:25+02:00 debug layer=gdbconn -> $OK#00
      
      in this case we request a single step on thread c41c3 but debugserver
      reports instead a signal (in this case SIGWINCH).
      
      Fixes #1610
      dcc1030d
    • M
      pkg/config: add max-variable-recurse parameter (#1626) · 89d2167c
      Michail Safronov 提交于
      * add max-variable-recurse parameter
      89d2167c
  8. 20 7月, 2019 1 次提交
    • B
      cmd/dlv: add --continue to continue process on launch/attach (#1585) · cb658772
      Brian de Alwis 提交于
      * Add --continue to continue process on launch/attach
      
      * Add small test of --continue
      
      * regenerate usage docs
      
      * minor cleanup
      
      * Use similar approach to `trace` and connect and detach using a client instance
      
      * back out previous attempt
      
      * regen usage doc
      
      * fix up continue test
      
      * fix TestContinue to properly test --continue
      
      * back out unnecessary changes
      
      * update faq
      cb658772
  9. 18 7月, 2019 3 次提交
  10. 17 7月, 2019 2 次提交
  11. 13 7月, 2019 2 次提交
    • R
      *: FreeBSD initial support (#1480) · df65be43
      Robert Ayrapetyan 提交于
      * FreeBSD initial support
      
      * first code review fixes
      
      * regs slice upd
      
      * execPtraceFunc wrap
      
      * disabled concurrency tests
      fixed kill() issue
      
      * disabled concurrency tests
      fixed kill() issue
      
      * cleanup vendor related code
      
      * cleanup ptrace calls
      
      * vendoring latest changes
      
      * Revert "vendoring latest changes"
      
      This reverts commit 833cb87b
      
      * vendoring latest changes
      
      * requested changes
      df65be43
    • Q
      terminal: Add breakpoint autocompletion (#183) (#1612) · 114b76ae
      qingyunha 提交于
      114b76ae
  12. 09 7月, 2019 7 次提交
  13. 04 7月, 2019 1 次提交
  14. 03 7月, 2019 1 次提交
    • A
      terminal: adds embedded scripting language (#1466) · ed35dce7
      Alessandro Arzilli 提交于
      If the argument of 'source' ends in '.star' it will be interpreted as a
      starlark script.
      If the argument of 'source' is '-' an interactive starlark repl will be
      started.
      
      For documentation on how the starlark execution environment works see
      Documentation/cli/starlark.md.
      
      The starlark API is autogenerated from the JSON-RPC API by
      script/gen-starlark-bindings.go.
      In general for each JSON-RPC API a single global starlark function is
      created.
      When one of those functions is called (through a starlark script) the
      arguments are converted to go structs using reflection. See
      unmarshalStarlarkValue in pkg/terminal/starbind/conv.go.
      If there are no type conversion errors the JSON-RPC call is executed.
      The return value of the JSON-RPC call is converted back into a starlark
      value by interfaceToStarlarkValue (same file):
      
      * primitive types (such as integers, floats or strings) are converted
        by creating the corresponding starlark value.
      * compound types (such as structs and slices) are converted by wrapping
        their reflect.Value object into a type that implements the relevant
        starlark interfaces.
      * api.Variables are treated specially so that their Value field can be
        of the proper type instead of always being a string.
      
      Implements #1415, #1443
      ed35dce7
  15. 02 7月, 2019 2 次提交
  16. 01 7月, 2019 2 次提交
    • A
      proc: allow simultaneous call injection to multiple goroutines (#1591) · dd4fd5dc
      Alessandro Arzilli 提交于
      * proc: allow simultaneous call injection to multiple goroutines
      
      Changes the call injection code so that we can have multiple call
      injections going on at the same time as long as they happen on distinct
      goroutines.
      
      * proc: fix EvalExpressionWithCalls for constant expressions
      
      The lack of address of constant expressions would confuse EvalExpressionWithCalls
      
      Fixes #1577
      dd4fd5dc
    • A
      Go 1.13 support (#1546) · 55eed318
      Alessandro Arzilli 提交于
      * tests: fix tests for Go 1.13
      
      - Go 1.13 doesn't autogenerate init functions anymore, tests that
        expected that now fail and should be skipped.
      - Plugin tests now need -gcflags'all=-N -l' now, we were probably
        getting lucky with -gcflags='-N -l' before.
      
      * proc: allow signed integers as shift counts
      
      Go1.13 allows signed integers to be used as the right hand side of a
      shift operator, change eval to match.
      
      * goversion: update maximum supported version
      
      * travis: force Go to use vendor directory
      
      Travis scripts get confused by "go: downloading" lines, the exact
      reason is not clear. Testing that the vendor directory is up to date is
      a good idea anyway.
      55eed318
  17. 28 6月, 2019 1 次提交
  18. 26 6月, 2019 1 次提交
    • A
      proc,service: remove support for locspec '<fnname>:0' (#1588) · 7afda8db
      Alessandro Arzilli 提交于
      The location specified '<fnname>:0' could be used to set a breakpoint
      on the entry point of the function (as opposed to locspec '<fnname>'
      which sets it after the prologue).
      Setting a breakpoint on an entry point is almost never useful, the way
      this feature was implemented could cause it to be used accidentally and
      there are other ways to accomplish the same task (by setting a
      breakpoint on the PC address directly).
      7afda8db
  19. 24 6月, 2019 1 次提交
    • A
      proc: add LocationCover method to BinaryInfo (#1573) · a7c2d837
      Alessandro Arzilli 提交于
      Also fixes findCompileUnitForOffset which was broken in some edge cases
      (when looking up an offset inside the last child of the compilation
      unit) which don't happen in normal executables (we only look up types, and those
      are always direct childs of compile units).
      a7c2d837
  20. 18 6月, 2019 1 次提交