1. 19 4月, 2017 3 次提交
  2. 14 4月, 2017 1 次提交
  3. 23 2月, 2017 1 次提交
    • A
      proc/stack: use BP when FDE is not available · 92faa95b
      aarzilli 提交于
      On Windows we can sometimes encounter threads stopped in locations for
      which we do not have entries in debug_frame.
      These cases seem to be due to calls to Windows API in the go runtime,
      we can still produce a (partial) stack trace in this circumstance by
      following frame pointers (starting with BP).
      We still prefer debug_frame entries when available since go functions
      do not have frame pointers before go1.8.
      92faa95b
  4. 09 2月, 2017 2 次提交
  5. 08 2月, 2017 2 次提交
    • A
      proc: Make sure CurrentLoc of G returned by GetG is up to date (#723) · 8c96e275
      Alessandro Arzilli 提交于
      We are already doing this in GoroutinesInfo we should be doing it for
      GetG. The main consequence of not doing this is that the CurrentLoc of
      DebuggerState.SelectedGoroutine is out of date compared to the location
      of the thread running it.
      8c96e275
    • A
      Go 1.8 compatibility (part 2) (#667) · 8724b3fc
      Alessandro Arzilli 提交于
      * dwarf/line: bugfix: not all values of the state machine can be used
      
      According to DWARF Version 3 Section 6.2 "Line Number Information" not
      all the values transversed by the line numbers state machine are valid
      instructions, only the ones after a "special opcode", after the
      standard opcode DW_LNS_copy and the extended opcode
      DW_LINE_end_sequence.
      
      DWARF3 describes this by specifying that only the opcodes listed above
      "append a row to the matrix".
      
      Additionally the implementation of DW_LNS_const_add_pc was wrong.
      
      Fixes #664
      
      * dwarf/line: fixed test failing with go1.8
      
      * service/test: fix prologue detection tests
      
      The conditions about which function prologue is emitted by the compiler
      changed in go1.8, changed the test program so that callme2 will still
      have a prologue under go1.8.
      
      * service/test: fix step test
      
      compilation units are linked in a different order under go1.8 so the
      code of 'fmt' is no longer located after 'main' in the executable,
      changed the tests so that they don't rely on this assumption anymore.
      
      * proc: change runtime.Breakpoint support for go1.8
      
      Before 1.8 it was sufficient to step twice to exit a
      runtime.Breakpoint(), but go 1.8 added frame pointer tracking to small
      functions making runtime.Breakpoint longer.
      This changes runtime.Breakpoint handling in Continue to single step as
      many times as are needed to exit runtime.Breakpoint.
      
      * proc/test: fix TestIssue561 for go1.8
      8724b3fc
  6. 21 1月, 2017 1 次提交
  7. 06 1月, 2017 1 次提交
  8. 23 12月, 2016 1 次提交
  9. 20 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. 27 10月, 2016 1 次提交
    • A
      proc: Names of concrete types of interfaces parsing their runtime._type · f62bf8d1
      aarzilli 提交于
      Generate names of the concrete types stored inside interface variables
      by fully parsing their runtime._type instead of simply using the str
      field.
      
      This allows delve to read the contents of an interface variable when
      the program imports multiple packages that have the same name. It also
      allows delve to correctly interpret some complex anonymous types.
      
      Fixes #455
      f62bf8d1
  12. 23 10月, 2016 1 次提交
  13. 22 10月, 2016 2 次提交
  14. 07 9月, 2016 1 次提交
  15. 02 7月, 2016 1 次提交
    • A
      Replaced net/rpc with custom version · 80336e57
      aarzilli 提交于
      This version preserves the order of requests, allows the
      client to switch between API versions and introduces a
      way to send notifications to the client (see TODO item at:
      proc/proc_linux.go:325).
      
      Fixes #523, #571
      80336e57
  16. 22 6月, 2016 1 次提交
  17. 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
  18. 18 5月, 2016 1 次提交
  19. 25 4月, 2016 2 次提交
    • A
      proc: allow use of quoted type names in type casts (#434) · a7a0cc75
      Alessandro Arzilli 提交于
      If we are unable to correctly guess how a type is serialized in
      debug_info let the user specify it directly.
      
      Workaround for #455
      a7a0cc75
    • A
      proc: Improvements to Variable printing (#444) · 473b6638
      Alessandro Arzilli 提交于
      * service/api: Removed unused fields of service/api.Function
      
      * proc/eval: Set return variable name to input expression
      
      * all: fine-grained control of loadValue for better variable printing
      
      Makes proc.(*Variable).loadValue loading parameters configurable
      through one extra argument of type LoadConfig.
      This interface is also exposed through the API so clients can control
      how much of a variable delve should read.
      473b6638
  20. 19 4月, 2016 1 次提交
  21. 09 3月, 2016 1 次提交
  22. 29 2月, 2016 1 次提交
  23. 28 2月, 2016 2 次提交
  24. 25 2月, 2016 1 次提交
    • A
      debugger: bugfix: make delve API thread safe · 82ef3cce
      aarzilli 提交于
      proc.(*Process) methods are not thread safe, multiple clients
      connecting simultaneously to a delve server (Issue #383) or a even
      a single over-eager client (Issue #408) can easily crash it.
      Additionally (Issue #419) calls to client.(*RPCClient).Halt can
      crash the server because they can result in calling the function
      debug/dwarf.(*Data).Type simultaneously in multiple threads which
      will cause it to return incompletely parsed dwarf.Type values.
      
      Fixes #408, #419 (partial)
      82ef3cce
  25. 19 2月, 2016 2 次提交
  26. 17 2月, 2016 1 次提交
  27. 12 2月, 2016 1 次提交
  28. 11 2月, 2016 1 次提交
    • A
      proc: Bug loading maps · 51e87386
      aarzilli 提交于
      Past the maximum recursion depth maps shouldn't be loaded at all,
      adding map children and not loading them breaks assumptions in
      the prettyprinter.
      
      Fixes #406
      51e87386
  29. 06 2月, 2016 1 次提交
  30. 02 2月, 2016 1 次提交
  31. 30 1月, 2016 2 次提交