1. 03 4月, 2020 1 次提交
  2. 02 4月, 2020 2 次提交
  3. 01 4月, 2020 5 次提交
  4. 31 3月, 2020 1 次提交
  5. 29 3月, 2020 2 次提交
  6. 28 3月, 2020 1 次提交
  7. 27 3月, 2020 1 次提交
  8. 26 3月, 2020 2 次提交
  9. 25 3月, 2020 1 次提交
    • A
      proc/gdbserial,debugger: allow clients to stop a recording (#1890) · 8bb93e9a
      Alessandro Arzilli 提交于
      Allows Delve clients to stop a recording midway by sending a
      Command('halt')
      request.
      
      This is implemented by changing debugger.New to start recording the
      process on a separate goroutine while holding the processMutex locked.
      By locking the processMutex we ensure that almost all RPC requests will
      block until the recording is done, since we can not respond correctly
      to any of them.
      API calls that do not require manipulating or examining the target
      process, such as "IsMulticlient", "SetApiVersion" and
      "GetState(nowait=true)" will work while we are recording the process.
      
      Two other internal changes are made to the API: both GetState and
      Restart become asynchronous requests, like Command. Restart because
      this way it can be interrupted by a StopRecording request if the
      rerecord option is passed.
      GetState because clients need a call that will block until the
      recording is compelted and can also be interrupted with a
      StopRecording.
      
      Clients that are uninterested in allowing the user to stop a recording
      can ignore this change, since eventually they will make a request to
      Delve that will block until the recording is completed.
      
      Clients that wish to support this feature must:
      
      1. call GetState(nowait=false) after connecting to Delve, before any
         call that would need to manipulate the target process
      2. allow the user to send a StopRecording request during the initial
         GetState call
      3. allow the user to send a StopRecording request during any subsequent
         Restart(rerecord=true) request (if supported).
      
      Implements #1747
      8bb93e9a
  10. 24 3月, 2020 2 次提交
    • D
      pkg/proc: Reset time after continue in benchmarks · 475551cf
      Derek Parker 提交于
      Reset the timer once we start executing the code paths we actually care
      to measure, since the setup and continue steps can be relatively
      expensive.
      
      Also, disable recording on benchmarks. This seems less useful, and also
      cuts out a lot of noise when benchmarks are run.
      475551cf
    • D
      pkg/proc: Clean up proc.go · c4fd80fc
      Derek Parker 提交于
      This patch moves out unrelated types, variables and functions from
      proc.go into a place where they make more sense.
      c4fd80fc
  11. 23 3月, 2020 2 次提交
  12. 21 3月, 2020 2 次提交
    • A
      proc: fix switch to goroutine stack (#1948) · 11204917
      Alessandro Arzilli 提交于
      When switching to the goroutine stack the stack iterator registers
      might not have any entry for the BP register, make sure to add it
      instead of just trying to change it.
      11204917
    • A
      proc,dwarf: cache debug.Entry objects (#1931) · 7cd12c34
      Alessandro Arzilli 提交于
      Instead of rescanning debug_info every time we want to read a function
      (either to find inlined calls or its variables) cache the tree of
      dwarf.Entry that we would generate and use that.
      
      Benchmark before:
      
      BenchmarkConditionalBreakpoints-4   	       1	5164689165 ns/op
      
      Benchmark after:
      
      BenchmarkConditionalBreakpoints-4   	       1	4817425836 ns/op
      
      Updates #1549
      7cd12c34
  13. 20 3月, 2020 10 次提交
  14. 19 3月, 2020 3 次提交
  15. 18 3月, 2020 1 次提交
  16. 17 3月, 2020 2 次提交
  17. 15 3月, 2020 1 次提交
  18. 13 3月, 2020 1 次提交
    • D
      *: Remove appveyor, use travis windows support (#1919) · 15509d4d
      Derek Parker 提交于
      * *: Remove appveyor, use travis windows support
      
      * cmd/dlv: Update TestOutput for Travis on Windows
      
      * cmd/dlv: Skip TestGeneratedDoc in Travis on Windows
      
      * Reduce number of jobs in matrix
      
      We only really want to test the full arch/go matrix on Linux.
      For every other os/arch/go combination, only run Go tip and the latest
      supported version.
      15509d4d