1. 13 6月, 2017 1 次提交
  2. 31 5月, 2017 1 次提交
  3. 06 5月, 2017 1 次提交
  4. 22 4月, 2017 1 次提交
  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. 29 3月, 2017 1 次提交
    • A
      proc: add test for attach/detach, fix detach (#773) · 7b19fe9e
      Alessandro Arzilli 提交于
      Detach did not work for processes we attach to via PID.
      
      Linux: we were only detaching from the main thread, all threads are
      detached independently
      
      Windows: we must resume all threads before detaching.
      
      macOS: still broken.
      
      Updates #772
      7b19fe9e
  7. 09 2月, 2017 2 次提交
  8. 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
  9. 23 12月, 2016 1 次提交
  10. 02 11月, 2016 1 次提交
    • E
      Flag to set working directory (#650) · 4064d6ac
      Evgeny L 提交于
      * proc: Add `wd` to Launch
      
      This change adds the `wd` arg which specify working directory of the
      program.
      
      Fixes #295
      
      * service/debugger: Add `Wd` field to debugger.Config
      
      This change adds the `Wd` field which specify working directory of the
      program launched by debugger.
      
      Fixes #295
      
      * service: Add `Wd` to service.Config
      
      This change adds the `Wd` field which specify working directory of the
      program debugger will launch.
      
      Fixes #295
      
      * cmd/dlv: Add `Wd` flag
      
      This change adds `Wd` flag which specify working directory of the
      program which launched by debugger.
      
      Fixes #295
      
      * only set the Linux working directory if it is set,
      stub out param in darwin and windows
      
      * set working directory for Windows
      https://godoc.org/golang.org/x/sys/windows#CreateProcess
      https://msdn.microsoft.com/en-us/library/windows/desktop/ms682425(v=vs.85).aspx
      
      * Windows workingDir must be an *uint16
      
      * attempt to chdir on darwin via @yuntan
      
      * proc/exec_darwin.c: fix working directory for darwin
      
      * Add tests to check if working directory works.
      * Fix darwin implementation of fork/exec, which paniced if
        child fork returned.
      
      * cmd, service: rename Wd to WorkingDir
      4064d6ac
  11. 07 9月, 2016 1 次提交
  12. 05 8月, 2016 1 次提交
  13. 21 7月, 2016 1 次提交
  14. 06 7月, 2016 1 次提交
  15. 30 6月, 2016 1 次提交
    • A
      proc: detect when Launching non-executable files · 51c39ed1
      aarzilli 提交于
      This provides a better error message when the user tries to run dlv
      debug on a directory that does not contain a main package, when `dlv
      exec` is used with a source file.
      
      Additionally the architecture of the executable is checked as suggested
      by @alexbrainman in #443.
      
      Fixes #509
      51c39ed1
  16. 30 5月, 2016 1 次提交
    • A
      Go 1.7 compatibility (#524) · 9bc6ad4f
      Alessandro Arzilli 提交于
      * tests: update to cope with go1.7 SSA compiler
      
      * de-vendored golang.org/x/debug/dwarf
      
      We need our own tweaked version
      
      * dwarf/debug/dwarf: always use the entry's name attribute
      
      Using the name attribute leads to better type names as well as fixes
      inconsistencies between 1.5, 1.6 and 1.7.
      
      * proc: Updated loadInterface to work with go1.7
      
      go1.7 changed the internal representation of types, removing the string
      field from runtime._type.
      Updated loadInterface to use the new str field.
      9bc6ad4f
  17. 15 3月, 2016 3 次提交
  18. 25 2月, 2016 1 次提交
  19. 25 1月, 2016 3 次提交
  20. 21 1月, 2016 1 次提交
  21. 10 1月, 2016 1 次提交
  22. 09 1月, 2016 4 次提交
  23. 10 10月, 2015 2 次提交
  24. 05 10月, 2015 2 次提交
  25. 27 9月, 2015 2 次提交
    • A
      proc: bugfix: intermittent failures of TestRestart_afterExit · bba999b9
      aarzilli 提交于
      During process termination we seem to receive notifications of new
      threads that die before we can add them, ignore them
      bba999b9
    • D
      proc: Remove hardware assisted breakpoints · 466960d9
      Derek Parker 提交于
      Only use software breakpoints for now. The reasoning is because it
      complicates the code without justification, and is only supported on
      Linux. Eventually, once watchpoints are properly implemented we will
      revive some of this code. Also, if it is ever necessary to actually set
      a hw breakpoint we can revive that code as well.
      
      All future versions of this code will include support for OSX before
      being merged back in.
      466960d9
  26. 06 9月, 2015 1 次提交
  27. 20 8月, 2015 1 次提交
    • 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
  28. 14 8月, 2015 1 次提交
    • D
      Only make new process a group leader, not session · 12bd0472
      Derek Parker 提交于
      We're not dealing with a debugged process having its own controlling
      terminal at this point, so no need to make the new process a session
      leader. Simply making the process a group leader will suffice for our
      purposes at the moment.
      12bd0472
  29. 04 8月, 2015 1 次提交