1. 02 8月, 2017 1 次提交
  2. 30 6月, 2017 1 次提交
  3. 06 5月, 2017 1 次提交
  4. 22 4月, 2017 1 次提交
  5. 20 4月, 2017 1 次提交
  6. 19 4月, 2017 1 次提交
  7. 09 2月, 2017 1 次提交
  8. 08 2月, 2017 1 次提交
    • 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
  9. 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
  10. 22 6月, 2016 1 次提交
  11. 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
  12. 25 4月, 2016 1 次提交
    • 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
  13. 19 4月, 2016 1 次提交
  14. 09 3月, 2016 1 次提交
  15. 29 2月, 2016 1 次提交
  16. 28 2月, 2016 2 次提交
  17. 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
  18. 19 2月, 2016 1 次提交
    • A
      proc: Replaced FunctionEntryToFirstLine with disassembly alternative · 4116d66c
      aarzilli 提交于
      - Unlike FunctionEntryToFirstLine can skip the prologue on functions
      that are defined on a single line, either because they weren't
      formatted or because they were autogenerated
      - Can skip the prologue on most functions when setting a breakpoint
      with the filename:line syntax
      
      Fixes #396
      4116d66c
  19. 17 2月, 2016 1 次提交
  20. 12 2月, 2016 1 次提交
  21. 06 2月, 2016 1 次提交
  22. 02 2月, 2016 1 次提交
  23. 30 1月, 2016 2 次提交
  24. 18 1月, 2016 1 次提交
    • A
      service/locations: hooked expression evaluator to location specifiers · 70cbbdc0
      aarzilli 提交于
      Location specifiers starting with '*' can be followed by any
      expression supported by the evaluator.
      The expression should evaluate to either an integer (which will be
      interpreted as an address) or to a function pointer (which will be
      dereferenced to get the function's entry point).
      70cbbdc0
  25. 09 1月, 2016 1 次提交
  26. 12 12月, 2015 1 次提交
    • A
      service/debugger: support function spec. with partial package paths · b5cf1572
      aarzilli 提交于
      packagename.SomeFunction should match
      github.com/someuser/packagename.SomeFunction since the former is
      the familiar syntax.
      To disambiguate between io.SomeFunction and
      github.com/someuser/somepackage/io.SomeFunction specify one extra
      slash at the start of the location specifier: /io.SomeFunction.
      
      Fixes Issue #296
      b5cf1572
  27. 29 10月, 2015 1 次提交
  28. 23 10月, 2015 1 次提交
    • D
      proc: Improve 'next' functionality · 28e0a322
      Derek Parker 提交于
      Instead of trying to be clever and make an 'educated guess' as to where
      the flow of control may go next, simple do the more naive, yet correct,
      approach of setting a breakpoint everywhere we can in the function and
      seeing where we end up. On top of this we were already setting a
      breakpoint at the return address and deferred functions, so that remains
      the same.
      
      This removes a lot of gnarly, hard to maintain code and takes all the
      guesswork out of this command.
      
      Fixes #281
      28e0a322
  29. 17 10月, 2015 1 次提交
  30. 10 10月, 2015 1 次提交
  31. 05 10月, 2015 1 次提交
  32. 29 9月, 2015 1 次提交
  33. 27 9月, 2015 1 次提交
  34. 18 9月, 2015 1 次提交
  35. 09 9月, 2015 1 次提交
  36. 06 9月, 2015 1 次提交
  37. 10 8月, 2015 1 次提交
  38. 09 8月, 2015 1 次提交
    • A
      Improve commands which take a location spec · 8e8d2660
      aarzilli 提交于
      Breakpoints, tracepoints, etc.. take a location spec as input. This
      patch improves the expressiveness of that API. It allows:
      
      * Breakpoint at line
      * Breakpoint at function (handling package / receiver smoothing)
      * Breakpoint at address
      * Breakpoint at file:line
      * Setting breakpoint based off regexp
      8e8d2660