1. 21 11月, 2017 2 次提交
    • A
      proc: next should not skip lines with conditional bps · 1ced7c3a
      aarzilli 提交于
      Conditional breakpoints with unmet conditions would cause next and step
      to skip the line.
      
      This breakpoint changes the Kind field of proc.Breakpoint from a single
      value to a bit field, each breakpoint object can represent
      simultaneously a user breakpoint and one internal breakpoint (of which
      we have several different kinds).
      
      The breakpoint condition for internal breakpoints is stored in the new
      internalCond field of proc.Breakpoint so that it will not conflict with
      user specified conditions.
      
      The breakpoint setting code is changed to allow overlapping one
      internal breakpoint on a user breakpoint, or a user breakpoint on an
      existing internal breakpoint. All other combinations are rejected. The
      breakpoint clearing code is changed to clear the UserBreakpoint bit and
      only remove the phisical breakpoint if no other bits are set in the
      Kind field. ClearInternalBreakpoints does the same thing but clearing
      all bits that aren't the UserBreakpoint bit.
      
      Fixes #844
      1ced7c3a
    • A
      proc: breakpoints refactoring · 178589a4
      aarzilli 提交于
      Move some duplicate code, related to breakpoints, that was in both
      backends into a single place.
      This is in preparation to solve issue #844 (conditional breakpoints
      make step and next fail) which will make this common breakpoint code
      more complicated.
      178589a4
  2. 18 11月, 2017 2 次提交
    • A
      pkg/proc: remove callFrameRegs from stackIterator · 8d34bb5b
      aarzilli 提交于
      Since it's just a scratchpad to calculate the new set of registers it
      makes more sense to have it as a local variable in Next and
      advanceRegs.
      8d34bb5b
    • A
      proc: refactor stack.go to use DWARF registers · f4e2000f
      aarzilli 提交于
      Instead of only tracking a few cherrypicked registers in stack.go track
      all DWARF registers.
      
      This is needed for cgo code and for the locationlists emitted by go in
      1.10:
      * The debug_frame sections emitted by C compilers can not be used
        without tracking all registers
      * the loclists emitted by go1.10 need all registers of a frame to be
        interpreted.
      f4e2000f
  3. 16 11月, 2017 2 次提交
  4. 04 11月, 2017 6 次提交
  5. 25 10月, 2017 1 次提交
    • A
      proc/eval: support more type casts · 8f16b371
      aarzilli 提交于
      * string to []rune
      * string to []byte
      * []rune to string
      * []byte to string
      * any pointer to uintptr
      
      The string, []rune, []byte conversion pairs aligns this to the go
      language.
      The pointer -> uintptr conversion pair is symmetric to the uintptr ->
      pointer that we already have.
      
      Also lets the user specify any size for byte array types instead of
      just the ones already used by the program, this can be used to read
      arbitrary memory.
      
      Fixes #548, #867
      8f16b371
  6. 21 10月, 2017 1 次提交
  7. 17 10月, 2017 1 次提交
  8. 26 9月, 2017 1 次提交
    • A
      proc: change next to skip deferred functions · 5c9b2009
      aarzilli 提交于
      Make 'next' skip deferred functions unless they are called via a panic.
      Call to a deferred function through 'return' are predictable, if the
      user wants to step into them 'step' can be used but without this change
      there is no way to avoid stepping into them.
      
      Implements #956
      5c9b2009
  9. 21 9月, 2017 1 次提交
    • A
      proc/gdbserial: return error if stopped with a sginal · 2c0e3116
      aarzilli 提交于
      On macOS we can also stop when we receive a signal,
      propagate this reason upwards to the client.
      
      Also clear internal breakpoints after an unrecovered-panic since they
      can not be reached anymore.
      
      Fixes #872
      2c0e3116
  10. 12 9月, 2017 1 次提交
  11. 09 9月, 2017 3 次提交
  12. 31 8月, 2017 3 次提交
  13. 15 8月, 2017 1 次提交
  14. 10 8月, 2017 1 次提交
  15. 08 8月, 2017 1 次提交
  16. 02 8月, 2017 11 次提交
  17. 29 7月, 2017 1 次提交
  18. 27 7月, 2017 1 次提交
    • A
      cmd/dlv: delete trace directory when we delete the built executable (#856) · d7a92b58
      Alessandro Arzilli 提交于
      Mozilla RR will create a trace directory that can be reused with the
      replay verb, however if we delete the executable file the trace
      directory will become useless, so delete that too before exit.
      
      Users that wish to reuse a recording should build the executable
      themselves and then use either dlv exec or rr record to do the
      recording.
      d7a92b58