1. 22 2月, 2020 2 次提交
    • H
      service/dap: minor cosmetic changes (#1882) · 44c644cc
      Hyang-Ah Hana Kim 提交于
      - Move package doc comments so they are recognized as package doc.
      - Use t.Helper when appropriate.
      44c644cc
    • K
      dwarf/line: Fixed DirIdx (index starts at one) (#1873) · 17f2fa79
      Klemens Morgenstern 提交于
      * Fixed DirIdx (index starts at one)
      
      I am using the elf to load C++ based elf and there the index starts at one and not zero, hence the minor fix.
      
      * Added test
      
      * Added proper test for c-generated elf & replaced index offset by adding build dir
      
      * Changed other IncludeDir test
      
      * Format fix & replace print with actual test
      
      * Format fixes @derekparker requested.
      17f2fa79
  2. 21 2月, 2020 1 次提交
  3. 20 2月, 2020 2 次提交
  4. 19 2月, 2020 1 次提交
  5. 18 2月, 2020 2 次提交
    • O
      proc/core: implementing coredump functionality for ARM64 (#1774) · a83d1c14
      ossdev07 提交于
      * proc/native: optimize native.status through buffering (#1865)
      
      Benchmark before:
      
      BenchmarkConditionalBreakpoints-4              1        15649407130 ns/op
      
      Benchmark after:
      
      BenchmarkConditionalBreakpoints-4   	       1	14586710018 ns/op
      
      Conditional breakpoint evaluation 1.56ms -> 1.45ms
      
      Updates #1549
      
      * proc/core: Review Comments Incorporated
      Signed-off-by: Nossdev07 <ossdev@puresoftware.com>
      Co-authored-by: NAlessandro Arzilli <alessandro.arzilli@gmail.com>
      a83d1c14
    • A
      proc: optimize parseG (#1866) · ecea2e18
      Alessandro Arzilli 提交于
      runtime.g is a large and growing struct, we only need a few fields.
      Instead of using loadValue to load the full contents of g, cache its
      memory and then only load the fields we care about.
      
      Benchmark before:
      
      BenchmarkConditionalBreakpoints-4              1        14586710018 ns/op
      
      Benchmark after:
      
      BenchmarkConditionalBreakpoints-4   	       1	12476166303 ns/op
      
      Conditional breakpoint evaluation: 1.45ms -> 1.24ms
      
      Updates #1549
      ecea2e18
  6. 16 2月, 2020 2 次提交
    • A
      proc/native: optimize native.status through buffering (#1865) · c272212b
      Alessandro Arzilli 提交于
      Benchmark before:
      
      BenchmarkConditionalBreakpoints-4              1        15649407130 ns/op
      
      Benchmark after:
      
      BenchmarkConditionalBreakpoints-4   	       1	14586710018 ns/op
      
      Conditional breakpoint evaluation 1.56ms -> 1.45ms
      
      Updates #1549
      c272212b
    • P
      service/dap: Initial implementation for 'dlv dap' (#1858) · fbc4623c
      polinasok 提交于
      * Initial implementation for 'dlv dap'
      
      * Fix Travis and AppVeyor failures
      
      * Address review comments
      
      * Address review comments
      
      * Regenrate documentation
      
      * Replace dap server printfs with log.Error
      
      * Update 'dap log'
      
      * Fix typos
      
      * Revert logflags changes that got mixed in by accident
      fbc4623c
  7. 15 2月, 2020 1 次提交
  8. 14 2月, 2020 3 次提交
    • D
      proc/gdbserial: Reload thread registers on demand · a277b15d
      Derek Parker 提交于
      Instead of reloading the registers for every thread every time the
      process executes, reload the registers on demand for individual threads
      and memoize the result.
      a277b15d
    • C
      pkg,service: add cmd `examinemem`(`x`) for examining memory. (#1814) · a5d9dbee
      chainhelen 提交于
      According to #1800 #1584 #1038, `dlv` should enable the user to dive into
      memory. User can print binary data in specific memory address range.
      But not support for sepecific variable name or structures temporarily.(Because
      I have no idea that modify `print` command.)
      
      Close #1584.
      a5d9dbee
    • A
      proc: do not load g0 until it's needed when stacktracing (#1863) · 5b4f4a81
      Alessandro Arzilli 提交于
      The stacktrace code occasionally needs the value of g.m.g0.sched.sp to
      switch stacks. Since this is only needed rarely and calling parseG is
      relatively expensive we should delay doing it until we know it will be
      needed.
      
      Benchmark before:
      
      BenchmarkConditionalBreakpoints-4              1        17326345671 ns/op
      
      Benchmark after:
      
      BenchmarkConditionalBreakpoints-4   	       1	15649407130 ns/op
      
      Reduces conditional breakpoint latency from 1.7ms to 1.56ms.
      
      Updates #1549
      5b4f4a81
  9. 13 2月, 2020 3 次提交
    • A
      proc: only format registers value when it's necessary (#1860) · b9d0ddd8
      Alessandro Arzilli 提交于
      A significant amount of time is spent generating the string
      representation for the proc.Registers object of each thread, since this
      field is rarely used (only when the Registers API is called) it should
      be generated on demand.
      
      Also by changing the internal representation of proc.Register to be
      closer to that of op.DwarfRegister it will help us implement #1838
      (when Delve will need to be able to display the registers of an
      internal frame, which we currently represent using op.DwarfRegister
      objects).
      
      Benchmark before:
      
      BenchmarkConditionalBreakpoints-4   	       1	22292554301 ns/op
      
      Benchmark after:
      
      BenchmarkConditionalBreakpoints-4   	       1	17326345671 ns/op
      
      Reduces conditional breakpoint latency from 2.2ms to 1.7ms.
      
      Updates #1549, #1838
      b9d0ddd8
    • V
      terminal/docgen: Specify all possible config locations (#1859) · abb57ff0
      vpsx 提交于
      Changes docs to reflect different possible locations for config/history files.
      abb57ff0
    • K
      *: Update CHANGELOG.md - fix v1.4.0's date being 2019 (#1861) · d8c31af4
      Kirides 提交于
      I think that should've been 2020 ;)
      d8c31af4
  10. 12 2月, 2020 1 次提交
  11. 11 2月, 2020 3 次提交
    • A
      all: bump version number and release notes · 99532c40
      aarzilli 提交于
      Thank you to: @stapelberg, @hengwu0, @tykcd996, @chainhelen,
      @alexbrainman, @nd and @stigok.
      99532c40
    • C
    • A
      *: Go 1.14 support branch (#1727) · 0741d3e5
      Alessandro Arzilli 提交于
      * tests: misc test fixes for go1.14
      
      - math.go is now ambiguous due to changes to the go runtime so specify
        that we mean our own math.go in _fixtures
      - go list -m requires vendor-mode to be disabled so pass '-mod=' to it
        in case user has GOFLAGS=-mod=vendor
      - update version of go/packages, required to work with go 1.14 (and
        executed go mod vendor)
      - Increased goroutine migration in one development version of Go 1.14
        revealed a problem with TestCheckpoints in command_test.go and
        rr_test.go. The tests were always wrong because Restart(checkpoint)
        doesn't change the current thread but we can't assume that when the
        checkpoint was taken the current goroutine was running on the same
        thread.
      
      * goversion: update maximum supported version
      
      * Makefile: disable testing lldb-server backend on linux with Go 1.14
      
      There seems to be some incompatibility with lldb-server version 6.0.0
      on linux and Go 1.14.
      
      * proc/gdbserial: better handling of signals
      
      - if multiple signals are received simultaneously propagate all of them to the
        target threads instead of only one.
      - debugserver will drop an interrupt request if a target thread simultaneously
        receives a signal, handle this situation.
      
      * dwarf/line: normalize backslashes for windows executables
      
      Starting with Go 1.14 the compiler sometimes emits backslashes as well
      as forward slashes in debug_line, normalize everything to / for
      conformity with the behavior of previous versions.
      
      * proc/native: partial support for Windows async preempt mechanism
      
      See https://github.com/golang/go/issues/36494 for a description of why
      full support for 1.14 under windows is problematic.
      
      * proc/native: disable Go 1.14 async preemption on Windows
      
      See https://github.com/golang/go/issues/36494
      0741d3e5
  12. 29 1月, 2020 2 次提交
  13. 28 1月, 2020 3 次提交
  14. 27 1月, 2020 1 次提交
  15. 23 1月, 2020 1 次提交
  16. 22 1月, 2020 6 次提交
  17. 21 1月, 2020 1 次提交
  18. 17 1月, 2020 1 次提交
    • A
      proc: cache goroutine objects · 9af1eac3
      aarzilli 提交于
      Adds a cache mapping goroutine IDs to goroutine objects, this allows
      speeding up FindGoroutine and makes commands like 'goroutines -t' not
      be accidentally quadratic in the number of goroutines.
      9af1eac3
  19. 14 1月, 2020 3 次提交
  20. 10 1月, 2020 1 次提交
    • A
      proc: fix inlined stack reading for midstack inlined calls · adb1746c
      aarzilli 提交于
      Due to a bug in the Go compiler midstack inlined calls do not report
      their ranges correctly. We can't check if an address is in the range of
      a DIE by simply looking at that DIE's range, we should also recursively
      check the DIE's children's ranges.
      
      Also fixes the way stacktraces of midstack inlined calls are reported
      (they used to be inverted, with the deepest inlined stack frame
      reported last).
      
      Fixes #1795
      adb1746c