1. 06 3月, 2018 1 次提交
  2. 05 3月, 2018 1 次提交
  3. 21 2月, 2018 1 次提交
    • D
      config: Return handle for created default config (#1130) · 678576d2
      Derek Parker 提交于
      Previously the file handle for the newly created default config was
      being closed and thrown away as opposed to returned to the caller to
      finish setting up config for the rest of the process. This patch changes
      to return a handle to the newly created config so setup can happen as
      normal. This fixes a bug where Delve can crash on first run when a
      config is not present on the system.
      
      Fixes #1129
      678576d2
  4. 20 2月, 2018 1 次提交
  5. 14 2月, 2018 1 次提交
    • A
      dwarf/reader,proc: support DW_AT_abstract_origin (#1111) · 0c40a8f5
      Alessandro Arzilli 提交于
      debug_info entries can use DW_AT_abstract_origin to inherit the
      attributes of another entry, supporting this attribute is necessary to
      support DW_TAG_inlined_subroutine.
      
      Go, starting with 1.10, emits DW_TAG_inlined_subroutine entries when
      inlining is enabled.
      0c40a8f5
  6. 10 2月, 2018 1 次提交
  7. 08 2月, 2018 1 次提交
    • M
      proc: Handle race between fork and task_for_pid (#1117) · beb3e76f
      Matt Bauer 提交于
      * Handle race between fork and task_for_pid
      
      On macOS a call to fork and a subsequent call to task_for_pid will race each other. This is because the macOS kernel assigns a new proc_t structure early but the new task, thread and uthread come much later. The function exec_mach_imgact in the XNU sources contains this logic.
      
      In a system under load or one with delays in fork processing (i.e. various security software), task_for_pid as currently called by Delve often returns the parent task. This can be seen by printing out the task number around line 86. In a normal system we would see three calls:
      
      -> ~/go/bin/dlv --listen=localhost:59115 --headless=true --api-version=2 --backend=native exec ./___main_go -- 
      Task: 9731
      Task: 9731
      Task: 9731
      API server listening at: 127.0.0.1:59115
      
      This is the result on a system where the race is lost:
      
      -> ~/go/bin/dlv --listen=localhost:59115 --headless=true --api-version=2 --backend=native exec ./___main_go -- 
      Task: 8707
      Task: 10499
      Task: 10499
      could not launch process: could not get thread count
      
      In this latter case, task 8707 is the parent task. The child task of 10499 was desired and hence the error.
      
      This code change checks to make sure the returned task is not that of the parent. If it is, it retries. It's possible other macOS reported Delve issues are the result of this failed race.
      
      * proc: correct formatting
      beb3e76f
  8. 31 1月, 2018 1 次提交
  9. 28 1月, 2018 3 次提交
  10. 27 1月, 2018 2 次提交
  11. 26 1月, 2018 2 次提交
  12. 25 1月, 2018 1 次提交
  13. 19 1月, 2018 4 次提交
    • A
      proc,prettyprint: guard against autodereferenced escaped pointers (#1077) · bec6a65b
      Alessandro Arzilli 提交于
      Much like the bug in issue #1031 and commit
      f6f6f0bf pointers can also escape to
      the heap and then have a zero address (and no children) when we
      autodereference.
      
      1. Mark autodereferenced escaped variables with a 0 address as
         unreadable.
      2. Add guards to the pretty printers for unsafe.Pointer and pointers.
      
      Fixes #1075
      bec6a65b
    • A
      proc_test: deflake TestSystemstackOnRuntimeNewstack (#1078) · bc77ff45
      Alessandro Arzilli 提交于
      Depending on how the runtime schedules our goroutines we can get
      unlucky and have the first call to runtime.newstack we intercept be for
      a different goroutine (usually the garbage collector).
      Only check stacktraces that happen on the same goroutine that executed
      main.main.
      bc77ff45
    • C
      Add "l" alias for list command (#1080) · 3f3de1a9
      Chad Whitacre 提交于
      Help out those of us habituated to pdb. <:^)
      
      https://docs.python.org/3/library/pdb.html
      3f3de1a9
    • Y
      command/terminal: allow restart to change process args (#1060) · c5c41f63
      Yasushi Saito 提交于
      * command/terminal: allow restart to change process args
      
      Add -args flag to "restart" command. For example, "restart -args a b c" will
      pass args a b c to the new process.
      
      Add "-c" flag to pass the checkpoint name. This is needed to disambiguate the
      checkpoint name and arglist.
      
      Reverted unnecessary changes.
      
      * Applied reviewer comments.
      
      Vendored argv.
      
      Change the syntax of restart. When the target is is in recording mode, it always
      interprets the args as a checkpoint. Otherwise, it interprets the args as
      commandline args. The flag "-args" is still there, to handle the case in which
      the user wants to pass an empty args on restart.
      
      * Add restartargs.go.
      
      Change "restart -args" to "restart -noargs" to clarify that this flag is used to
      start a process with an empty arg.
      c5c41f63
  14. 12 1月, 2018 1 次提交
  15. 08 1月, 2018 1 次提交
  16. 06 1月, 2018 2 次提交
    • A
      proc: avoid scanning system stack if it's not executing cgo · 7bec20e5
      aarzilli 提交于
      The runtime calls into g0 in many places, not necessarily using
      runtime.systemstack or runtime.asmcgocall.
      One example of this is the call to runtime.newstack inside
      runtime.morestack.
      
      If we stop the process while one goroutine is executing
      runtime.newstack we would be unable to fully scan its stack because we
      don't know that we have to switch back to the goroutine stack after
      runtime.newstack.
      
      Instead of tracking down every possible way that the runtime switches
      to g0 we switch to the goroutine stack immediately after the top of the
      stack, unless cgo is being executed on the systemstack.
      
      Fixes #1066
      7bec20e5
    • A
      service/test: disable TestClientServerConsistentExit for rr backend · 1acc1547
      aarzilli 提交于
      The rr backend doesn't report the exit status (the argument of the W
      packet seems to always be 0).
      
      Fixes #1067
      1acc1547
  17. 05 1月, 2018 1 次提交
  18. 04 1月, 2018 2 次提交
  19. 03 1月, 2018 2 次提交
  20. 02 1月, 2018 1 次提交
  21. 21 12月, 2017 2 次提交
  22. 19 12月, 2017 3 次提交
  23. 14 12月, 2017 5 次提交