1. 31 5月, 2017 1 次提交
  2. 02 5月, 2017 1 次提交
  3. 22 4月, 2017 1 次提交
  4. 19 4月, 2017 2 次提交
  5. 07 4月, 2017 1 次提交
    • A
      proc refactor: split out BinaryInfo implementation (#745) · 436a3c21
      Alessandro Arzilli 提交于
      * proc: refactor BinaryInfo part of proc.Process to own type
      
      The data structures and associated code used by proc.Process
      to implement target.BinaryInfo will also be useful to support a
      backend for examining core dumps, split this part of proc.Process
      to a different type.
      
      * proc: compile support for all executable formats unconditionally
      
      So far we only compiled in support for loading the executable format
      supported by the host operating system.
      Once support for core files is introduced it is however useful to
      support loading in all executable formats, there is no reason why it
      shouldn't be possible to examine a linux coredump on windows, or
      viceversa.
      
      * proc: bugfix: do not resume threads on detach if killing
      
      * Replace BinaryInfo interface with BinInfo() method returning proc.BinaryInfo
      436a3c21
  6. 09 2月, 2017 2 次提交
  7. 08 2月, 2017 1 次提交
    • A
      Trace optimizations (#695) · 098457e5
      Alessandro Arzilli 提交于
      * proc: Added trace benchmark
      
      Results:
      
      BenchmarkTrace-4   	    5000	  36195899 ns/op
      
      * proc/linux: faster single step implementation.
      
      BenchmarkTrace-4   	    5000	   2093271 ns/op
      
      * proc: Cache function debug_info entries to speed up variable lookup.
      
      BenchmarkTrace-4   	    5000	   1864846 ns/op
      
      * proc/variables: Optimize FunctionArguments by prefetching frame
      
      BenchmarkTrace-4   	    5000	   1815795 ns/op
      
      * proc/variables: optimized parseG
      
      BenchmarkTrace-4   	   10000	    712767 ns/op
      098457e5
  8. 20 12月, 2016 1 次提交
  9. 15 3月, 2016 1 次提交
  10. 28 2月, 2016 1 次提交
  11. 25 2月, 2016 1 次提交
  12. 21 1月, 2016 1 次提交
  13. 10 1月, 2016 1 次提交
  14. 09 1月, 2016 1 次提交
    • A
      proc: bugfix: wrong final count in TestBreakpointCounts (linux) · 17d8aa2b
      aarzilli 提交于
      Sometimes after PtraceSingleStep the thread does not advance of a
      single instruction but is, instead, blocked immediately by a SIGSTOP
      Made singleStep repeat the process until a SIGTRAP is observed.
      
      Unsure where the SIGSTOP comes from.
      17d8aa2b
  15. 10 10月, 2015 1 次提交
  16. 05 10月, 2015 1 次提交
  17. 20 8月, 2015 2 次提交
    • D
      thread.Halt: Remove duplication between OS implementations · 38e00513
      Derek Parker 提交于
      Bring similar code up to top level, and keep OS dependant code in OS
      dependant files. DRY up code a bit.
      38e00513
    • D
      command (next): Improvements for parallel programs · b9846c76
      Derek Parker 提交于
      This patch aims to improve how Delve tracks the current goroutine,
      especially in very highly parallel programs. The main spirit of this
      patch is to ensure that even in situations where the goroutine we care
      about is not executing (common for len(g) > len(m)) we still end up back
      on that goroutine as a result of executing the 'next' command.
      
      We accomplish this by tracking our original goroutine id, and any time a
      breakpoint is hit or a threads stops, we examine the stopped threads and
      see if any are executing the goroutine we care about. If not, we set
      'next' breakpoint for them again and continue them. This is done so that
      one of those threads can eventually pick up the goroutine we care about
      and begin executing it again.
      b9846c76
  18. 02 8月, 2015 3 次提交
  19. 27 6月, 2015 1 次提交
  20. 26 6月, 2015 2 次提交
  21. 25 6月, 2015 1 次提交
  22. 14 6月, 2015 1 次提交
    • D
      Refactor: Use thread-locked goroutine for ptrace ops · e4fc5e32
      Derek Parker 提交于
      Previously either the terminal client or the debugger service would
      either lock main goroutine to a thread or provide a locked goroutine to
      run _all_ DebuggedProcess functions in. This is unnecessary because only
      ptrace functions need to be run from the same thread that originated the
      PT_ATTACH request.
      
      Here we use a specific thread-locked goroutine to service any ptrace
      request. That goroutine is also responsible for the initial spawning /
      attaching of the process, since it must be responsible for the PT_ATTACH
      request.
      e4fc5e32
  23. 13 6月, 2015 2 次提交
  24. 12 6月, 2015 1 次提交
  25. 28 5月, 2015 1 次提交
  26. 05 5月, 2015 1 次提交
  27. 02 5月, 2015 1 次提交
  28. 01 5月, 2015 1 次提交
  29. 24 4月, 2015 1 次提交
  30. 23 4月, 2015 1 次提交
  31. 04 4月, 2015 1 次提交
  32. 01 4月, 2015 1 次提交
    • D
      Improve `next` implementation · 86e15305
      Derek Parker 提交于
      * Better tracking of current goroutine
      * More efficient, eliminates superfluous step syscalls
      * Handles concurrency and thread coordination better
      86e15305
  33. 01 3月, 2015 1 次提交