1. 14 3月, 2015 1 次提交
  2. 12 3月, 2015 1 次提交
  3. 07 3月, 2015 1 次提交
  4. 06 3月, 2015 1 次提交
  5. 01 3月, 2015 2 次提交
  6. 28 2月, 2015 2 次提交
  7. 05 2月, 2015 1 次提交
    • D
      Prefer binary search over tree lookup for FDEs · 4d88d9ed
      Derek Parker 提交于
      FDEs previously were loaded into a red/black tree and searched. This is
      significantly more expensive than a binary search over a slice. Not sure
      what I was thinking using a red/black tree - this binary search
      implementation is significantly more efficient.
      4d88d9ed
  8. 03 2月, 2015 1 次提交
  9. 02 2月, 2015 1 次提交
    • D
      Fix race between Delve and tracee runtime · e001bbff
      Derek Parker 提交于
      This commit fixes a race condition between Delve and the runtime of the traced process. When a new thread is created in the traced process, Delve takes note of it and then continue both the new thread, and the thread that called clone. If Delve attempts to use data in `runtime.allm` before the new `m->procid` is set, errors occur. The errors are due to Delve assuming any m with a procid of 0 is the main thread of the process (due to how theGo runtime allocates M's, only `clone`d threads have procid properly set. This causes certain events (like `next`) to happen twice to the main thread, because 2 m's in `runtime.allm` have a `procid` of 0, and also causes various other issues that prevent proper thread coordination from Delve.
      
      Fixes #43
      e001bbff
  10. 01 2月, 2015 1 次提交
  11. 26 1月, 2015 1 次提交
  12. 15 1月, 2015 1 次提交
  13. 14 1月, 2015 2 次提交
  14. 13 1月, 2015 1 次提交
  15. 10 1月, 2015 1 次提交
    • D
      Handle SIGINT · bc39ddfb
      Derek Parker 提交于
      Handle SIGINT by stopping the traced program and then displaying a
      prompt to the user for commands. If the traced process is not running,
      this is a noop.
      
      Closes #30
      bc39ddfb
  16. 02 1月, 2015 1 次提交
  17. 01 1月, 2015 2 次提交
  18. 11 12月, 2014 1 次提交
  19. 09 12月, 2014 2 次提交
  20. 06 12月, 2014 1 次提交
  21. 03 12月, 2014 1 次提交
    • D
      Use allm info to attach to existing threads · 5ece8d3b
      Derek Parker 提交于
      This remove reliance on the procfs for figuring out what threads are
      already active when we attach to a running process. The allm linked list
      will be present to matter what OS we're on, whereas procfs will not be
      present everywhere.
      
      This is the first in a series of steps to support more platforms.
      5ece8d3b
  22. 29 11月, 2014 1 次提交
  23. 27 11月, 2014 2 次提交
  24. 25 11月, 2014 3 次提交
    • D
      Avoid carrying closure around with goroutine · 04097af7
      Derek Parker 提交于
      04097af7
    • D
      Update documentation · 36d3ecd6
      Derek Parker 提交于
      36d3ecd6
    • D
      Improve support for goroutine context switching · 3b2b1793
      Derek Parker 提交于
      Remove any assumption that a wait syscall on a thread id after a
      continue will return. Any time we continue a thread, wait for activity
      from any thread, because the scheduler may well have switched contexts
      on us due to syscall entrace, channel op, etc...
      
      There are several more things to be done here including:
      
      * Potential tracking of goroutine id as we jump around to thread
        contexts.
      * Potential of selectively choosing threads to operate on based on the
        internal M data structures, ensuring that our M has an active G.
      
      This commit partially fixes #23 and #24, however there are still some
      random hangs that happen and need to be ironed out.
      3b2b1793
  25. 24 11月, 2014 1 次提交
  26. 23 11月, 2014 1 次提交
    • D
      Refactor: wrap syscall.Wait4 · 8be3ffc7
      Derek Parker 提交于
      Wrap syscall.Wait4 and cleanup a few coordination issues.
      
      There are still some issues here where background threads are left
      sleeping. This could potentially cause weird issues. There are a few
      more things I have planned to cleanup thread coordination issues.
      8be3ffc7
  27. 22 11月, 2014 4 次提交
  28. 21 11月, 2014 1 次提交
  29. 15 11月, 2014 1 次提交