1. 19 4月, 2017 6 次提交
  2. 18 4月, 2017 1 次提交
    • H
      vendor: update vendored packages (#791) · 5bd46f34
      Hyang-Ah Hana Kim 提交于
      * pkg/proc: use golang.org/x/arch/x86/x86asm
      
      instead of rsc.io/x86/x86asm
      
      * pkg/dwarf: migrate to github.com/pkg/profile
      
      from github.com/davecheney/profile
      
      * scripts: keep script go files from being considered for the build
      
      scripts/gen-*.go files are scripts for generating documentation
      files and don't follow the typical Go package layout. Expected
      usage is like
      
         go run scripts/gen-cli-docs.go
      
      * vendor: update vendored packages
      
      There were many changes in delve, and go tool chains since last
      vendored package update. I just rerun godpes from scratch.
      
      $ rm vendor/*
      $ rm Godeps/Godeps.json
      $ go list ./... | grep -v /vendor/ | grep -v /scripts/ | go get -u -t
      $ go get -u github.com/mattn/go-colorable
      $ go get -u github.com/mattn/go-isatty
      $ go list ./... | grep -v /vendor/ | grep -v /scripts/ | godeps save
      5bd46f34
  3. 14 4月, 2017 2 次提交
  4. 07 4月, 2017 2 次提交
    • D
      cmd/dlv: Use Printf over Println · 01a1b356
      Derek Parker 提交于
      Fixes #783
      01a1b356
    • 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
  5. 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
  6. 25 3月, 2017 2 次提交
  7. 22 3月, 2017 1 次提交
  8. 14 3月, 2017 6 次提交
  9. 28 2月, 2017 1 次提交
  10. 23 2月, 2017 4 次提交
    • A
      terminal/command_test: improved TestIssue387 · 1a4b5a05
      aarzilli 提交于
      The test in question tries to 'next' over a call to wg.Done, this is
      not guaranteed to succeed, if the goroutine gets suspended after
      wg.Done has notified the waiting group but before returning to
      main.dostuff the program could quit before the goroutine is resumed.
      1a4b5a05
    • A
      proc/test: improve TestStepParked · f2581e60
      aarzilli 提交于
      It was possible for TestStepParked to pick a runtime goroutine and
      attempt to step it. Nothing guarantees that a goroutine other than the
      ones we are using to run the code would actually ever resume before the
      end of the program.
      
      This makes the test more discerning in its choice of goroutines.
      f2581e60
    • 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
    • A
      proc/windows: handle delayed events · 1a68f8d3
      aarzilli 提交于
      Sometimes windows will send us events about breakpoints we have
      already removed from the code despite the fact that we go to great
      lengths to avoid this already.
      
      Change waitForDebugEvent to check that when we receive a breakpoint
      event the corresponding memory actually contains an INT 3
      instruction, if it doesn't ignore the event and restart the thread.
      1a68f8d3
  11. 22 2月, 2017 1 次提交
  12. 17 2月, 2017 2 次提交
  13. 14 2月, 2017 2 次提交
  14. 10 2月, 2017 2 次提交
  15. 09 2月, 2017 4 次提交
  16. 08 2月, 2017 3 次提交
    • A
      Improve stacktraces (#721) · e77595ce
      Alessandro Arzilli 提交于
      * service/rpccommon: fixed typo
      
      * proc: test parseG while target is in runtime.deferreturn
      
      runtime.deferreturn will change the value of curg._defer.fn in such a
      way that if the target is stopped at just the right instruction it
      may crash an incorrect implementation of parseG
      
      * proc/stack: handle stack barriers correctly
      
      Correctly handle stack barriers insterted during garbage collection.
      e77595ce
    • 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
      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