1. 03 2月, 2015 1 次提交
  2. 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
  3. 01 2月, 2015 1 次提交
  4. 26 1月, 2015 1 次提交
  5. 15 1月, 2015 1 次提交
  6. 14 1月, 2015 2 次提交
  7. 13 1月, 2015 1 次提交
  8. 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
  9. 02 1月, 2015 1 次提交
  10. 01 1月, 2015 2 次提交
  11. 11 12月, 2014 1 次提交
  12. 09 12月, 2014 2 次提交
  13. 06 12月, 2014 1 次提交
  14. 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
  15. 29 11月, 2014 1 次提交
  16. 27 11月, 2014 2 次提交
  17. 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
  18. 24 11月, 2014 1 次提交
  19. 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
  20. 22 11月, 2014 4 次提交
  21. 21 11月, 2014 1 次提交
  22. 15 11月, 2014 1 次提交
  23. 14 11月, 2014 2 次提交
  24. 10 11月, 2014 1 次提交
  25. 08 11月, 2014 3 次提交
  26. 03 11月, 2014 1 次提交
  27. 28 10月, 2014 2 次提交