1. 13 8月, 2020 1 次提交
  2. 11 8月, 2020 1 次提交
    • P
      service/dap: Initial support for scopes and variables requests (#2111) · 58ea3234
      polinasok 提交于
      * Initial support for scopes and variables requests
      
      * Add detailed variables test
      
      * Address review comments
      
      * Fix typo and redudant escaped characters
      
      * Bug fix for uninitialized interfaces; no refs needed for 0-size vars
      
      * Minor cosmetic tweaks
      
      * Add incomplete loading test
      
      * Make DeepSource happy
      
      * Remove unnecessary t.Helper() calls
      
      * Update broken test after merge
      
      * Add missing return
      
      * Rework test harness to abort testvariables2 before stack overflow
      
      * Remove accidentally duplicated disconnet
      
      * Test for invalid interface type with regex
      
      * Drop testvariables3, clean up and test unreadable case
      
      * Respond to review comments
      
      * Make expectVar test helper less fragile
      
      * Make DeepSource happy
      
      * Use proc.LoadConfig directly
      
      * Adjust test to avoid var count discrepency between Go 1.15 and earlier
      
      * Make compound keys in a map unique for correct display
      
      * Remove locals num check that will break if more vars are added
      Co-authored-by: NPolina Sokolova <polinasok@users.noreply.github.com>
      58ea3234
  3. 06 8月, 2020 2 次提交
  4. 30 7月, 2020 1 次提交
  5. 29 7月, 2020 1 次提交
    • A
      Go 1.15 support (#2011) · f9c8f7f5
      Alessandro Arzilli 提交于
      * proc: start variable visibility one line after their decl line
      
      In most cases variables shouldn't be visible on their declaration line
      because they won't be initialized there.
      Function arguments are treated as an exception.
      
      This fix is only applied to programs compiled with Go 1.15 or later as
      previous versions of Go did not report the correct declaration line for
      variables captured by closures.
      
      Fixes #1134
      
      * proc: silence go vet error
      
      * Makefile: enable PIE tests on windows/Go 1.15
      
      * core: support core files for PIEs on windows
      
      * goversion: add Go 1.15 to supported versions
      
      * proc: fix function call injection for Go 1.15
      
      Go 1.15 changed the call injection protocol so that the runtime will
      execute the injected call on a different (new) goroutine.
      
      This commit changes the function call support in delve to:
      
      1. correctly track down the call injection state after the runtime
         switches to a different goroutine.
      2. correctly perform the escapeCheck when stack values can come from
         multiple goroutine stacks.
      
      * proc: miscellaneous fixed for call injection under macOS with go 1.15
      
      - create copy of SP in debugCallAXCompleteCall case because the code
        used to assume that regs doesn't change
      - fix automatic address calculation for function arguments when an
        argument has a spurious DW_OP_piece at entry
      f9c8f7f5
  6. 27 7月, 2020 1 次提交
  7. 22 7月, 2020 4 次提交
  8. 21 7月, 2020 1 次提交
  9. 16 7月, 2020 3 次提交
  10. 10 7月, 2020 1 次提交
  11. 09 7月, 2020 1 次提交
  12. 02 7月, 2020 1 次提交
  13. 25 6月, 2020 1 次提交
  14. 23 6月, 2020 1 次提交
  15. 16 6月, 2020 1 次提交
  16. 12 6月, 2020 2 次提交
  17. 06 6月, 2020 4 次提交
    • A
      proc: do not wipe sources list when a plugin is detected (#2075) · 708eadd5
      Alessandro Arzilli 提交于
      The list of source files must include all files from all images, not
      just the files from the last discovered image.
      
      Fixes #2074
      708eadd5
    • A
      proc: better support for C pointers (#1997) · a7272343
      Alessandro Arzilli 提交于
      - treat C pointers as arrays
      - print 'char *' variables as strings
      a7272343
    • Á
      terminal/command: Add 'reload' command (#1971) · 95e7cafd
      Álex Sáez 提交于
      * terminal/command: Add 'reload' command
      
      These changes add the 'reload' command, which allows us to rebuild the project
      and start the debugging session again. Currently, if the project's code is
      updated while debugging it, Delve shows the new source code, but it's still
      running the old one. With 'reload', the whole binary is rebuilt, and the
      process starts again.
      
      Fixes #1551
      
      * Remove unnecessary print
      
      Changes to be committed:
            modified:   pkg/terminal/command.go
      
      * Add tests and refactor the code
      
      Changes to be committed:
            modified:   cmd/dlv/cmds/commands.go
            modified:   go.mod
            modified:   pkg/terminal/command.go
            modified:   service/config.go
            modified:   service/debugger/debugger.go
            modified:   service/test/integration2_test.go
      
      * Fix typo in the comment
      
      Changes to be committed:
            modified:   service/debugger/debugger.go
      
      * Fix typo in the name of the variables
      
      The variables are local therefore the capitalization is not needed
      
      Changes to be committed:
            modified:   cmd/dlv/cmds/commands.go
      
      * Call GoTestBuild
      
      Also, remove the := to avoid redeclaration
      
      * Change the Kind in the tests
      
      Change from debugger.ExecutingGeneratedTest to
      debugger.ExecutingGeneratedFile for consistency.
      We are generating a real binary instead of a test
      one so ExecutingGeneratedFile makes more sense here.
      
      Changes to be committed:
            modified:   service/test/integration2_test.go
      
      * Avoid breakpoints based on addresses
      
      Changes to be committed:
            modified:   service/debugger/debugger.go
      
      * Update the rebuild behaviour
      
      There are a few cases where we can't rebuild the binary because we don't
      know how it was build.
      
      Changes to be committed:
            modified:   service/debugger/debugger.go
      
      * Fix typos and update documentation
      
      Changes to be committed:
            modified:   Documentation/cli/README.md
            modified:   pkg/terminal/command.go
            modified:   service/config.go
            modified:   service/debugger/debugger.go
      
      * Fix typo
      
      * Remove variables
      
      They were added to the debugger.Config
      
      * Rename variable
      
      Rename Kind to ExecuteKind to make it more accurate
      
      Changes to be committed:
            modified:   cmd/dlv/cmds/commands.go
            modified:   service/debugger/debugger.go
            modified:   service/test/integration2_test.go
      95e7cafd
    • A
      proc: step into unexported runtime funcs when already inside runtime (#2061) · 292f5c69
      Alessandro Arzilli 提交于
      Normally we don't step into unexported runtime functions because the
      compiler is free to insert them into the code and they are not relevant
      to the user, however if we are already stepping through a runtime
      function we should let step into work normally and step into other
      runtime functions.
      292f5c69
  18. 04 6月, 2020 3 次提交
  19. 03 6月, 2020 1 次提交
  20. 29 5月, 2020 1 次提交
  21. 23 5月, 2020 1 次提交
  22. 19 5月, 2020 1 次提交
  23. 15 5月, 2020 1 次提交
  24. 14 5月, 2020 2 次提交
    • C
      [WIP] pkg/proc: avoid target process leaks. (#2018) · e28e3d30
      chainhelen 提交于
      * pkg/proc: avoid target process leaks.
      
      Target process should exit when dlv launch failed.
      
      Fix #2017.
      e28e3d30
    • A
      proc/*: only load floating point registers when needed (#1981) · 200994bc
      Alessandro Arzilli 提交于
      Changes implementations of proc.Registers interface and the
      op.DwarfRegisters struct so that floating point registers can be loaded
      only when they are needed.
      Removes the floatingPoint parameter from proc.Thread.Registers.
      This accomplishes three things:
      
      1. it simplifies the proc.Thread.Registers interface
      2. it makes it impossible to accidentally create a broken set of saved
         registers or of op.DwarfRegisters by accidentally calling
         Registers(false)
      3. it improves general performance of Delve by avoiding to load
         floating point registers as much as possible
      
      Floating point registers are loaded under two circumstances:
      
      1. When the Slice method is called with floatingPoint == true
      2. When the Copy method is called
      
      Benchmark before:
      
      BenchmarkConditionalBreakpoints-4   	       1	4327350142 ns/op
      
      Benchmark after:
      
      BenchmarkConditionalBreakpoints-4   	       1	3852642917 ns/op
      
      Updates #1549
      200994bc
  25. 13 5月, 2020 1 次提交
    • D
      cmd/dlv: Fix trace output (#2038) · f96663a2
      Derek Parker 提交于
      * cmd/dlv,debugger: Improve dlv trace and trace command output
      
      This patch improves the `dlv trace` subcommand output by reducing the
      noise that is generated and providing clearer more concise information.
      
      Also adds new tests closing a gap in our testing (we previously never
      really tested this subcommand).
      
      This patch also fixes the `dlv trace` REPL command to behave like the
      subcommand in certain situations. If the tracepoint is for a function,
      we now show function arguements and return values properly.
      
      Also makes the overall output of the trace subcommand clearer.
      
      Fixes #2027
      f96663a2
  26. 12 5月, 2020 2 次提交