- 27 9月, 2016 2 次提交
-
-
由 aarzilli 提交于
Instead of repeatedly calling StepInstruction set breakpoints to the destination of CALL instructions (or on the CALL instructions themselves for indirect CALLs), then call Continue. Calls to unexported runtime functions are skipped. Reduces the number of code paths managing inferior state from 3 to 2 (StepInstruction, Continue). Fixes #561
-
由 aarzilli 提交于
When a deferred function is called directly Next and StepOut should not step into it. Fixes #582
-
- 07 9月, 2016 1 次提交
-
-
由 Alessandro Arzilli 提交于
-
- 22 7月, 2016 1 次提交
-
-
由 dr2chase 提交于
Detect calls that do not target a function's entrypoint (i.e, calls to runtime.duffzero and runtime.duffcopy) and instead step into them directly. StepInto sets a breakpoint past the called function's prologue and expects that continue will hit that breakpoint, but because the call is into the interior of the function (well past the prologue) this fails. Fixes #573
-
- 21 7月, 2016 1 次提交
-
-
由 Alessandro Arzilli 提交于
Fixes flakiness of TestCmdLineArgs.
-
- 03 7月, 2016 1 次提交
-
-
- 30 6月, 2016 1 次提交
-
-
由 aarzilli 提交于
This provides a better error message when the user tries to run dlv debug on a directory that does not contain a main package, when `dlv exec` is used with a source file. Additionally the architecture of the executable is checked as suggested by @alexbrainman in #443. Fixes #509
-
- 25 6月, 2016 2 次提交
-
-
由 aarzilli 提交于
Previously Step would step through the goroutine associated with CurrentThread if SelectedGoroutine was parked
-
由 aarzilli 提交于
Previously Next would step through the goroutine associated with CurrentThread if SelectedGoroutine was parked Also fixes a bug with proc.(*Process).StepInto where StepInto could switch to a different goroutine.
-
- 22 6月, 2016 1 次提交
-
-
由 aarzilli 提交于
-
- 08 6月, 2016 1 次提交
-
-
由 David Benque 提交于
-
- 30 5月, 2016 1 次提交
-
-
由 Alessandro Arzilli 提交于
Fixes #554
-
- 25 4月, 2016 1 次提交
-
-
由 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.
-
- 22 4月, 2016 1 次提交
-
-
由 Matias Lahti 提交于
* proc: add tests for command-line arguments adds tests to make sure command-line arguments are passed to Launch() properly * proc_windows: pass command-line arguments to CreateProcess() build command-line arguments according to how the standard library does it and pass the command line along to the actual syscall on Windows. see discussion in #479 * proc: better testing of cmd-line arguments * proc_windows: fix a possible error-case with passing just 1 argument previously, the command line pointer passed to sys.CreateProcess was empty, if we had 0 parameters (len(cmd) == 1, as cmd[0] is the executable, so no cmdlineGo would be created, while with any argument it would as len(cmd) > 1). This might cause problems down the road, so make sure we include the command line every time, even if it seems to work without. * proc: improve testing of command-line arguments test that arguments with spaces are passed on correctly and DRY failure/success condition checking in the args test
-
- 29 3月, 2016 2 次提交
-
-
由 aarzilli 提交于
- made GoroutineStacktrace a method of struct G - made stacktrace a method of StackIterator - renamed StackIterator to stackIterator - factored out logic to obtain a stackIterator from a goroutine that's used by both (*G).Stacktrace and by (*G).UserCurrent
-
由 aarzilli 提交于
Instead of returning an error when FDE of a frame can not be found, just truncate the stack trace. Fixes #462
-
- 09 3月, 2016 1 次提交
-
-
由 aarzilli 提交于
Automatically sets a breakpoint on runtime.startpanic, the function that gets called by runtime.dopanic when a panic is not recovered. Implements #317
-
- 05 3月, 2016 1 次提交
-
-
由 aarzilli 提交于
Caches the mapping of type names to offset in debug_info to speed up variable evaluation. BEFORE: BenchmarkArray-4 100 13'238'441 ns/op 0.62 MB/s BenchmarkArrayPointer-4 200 10'044'093 ns/op 0.87 MB/s BenchmarkMap-4 1000 1'332'530 ns/op 0.77 MB/s BenchmarkGoroutinesInfo-4 10 114'677'462 ns/op BenchmarkLocalVariables-4 2000 1'223'975 ns/op AFTER: BenchmarkArray-4 200 9'925'686 ns/op 0.83 MB/s BenchmarkArrayPointer-4 100 11'143'930 ns/op 0.78 MB/s BenchmarkMap-4 2000 1'302'520 ns/op 0.79 MB/s BenchmarkGoroutinesInfo-4 30 35'079'549 ns/op BenchmarkLocalVariables-4 1000 1'137'299 ns/op Note in particular the speedup of BenchmarkGoroutinesInfo, since proc.(*Variable).parseG is a function we call a lot.
-
- 29 2月, 2016 1 次提交
-
-
由 aarzilli 提交于
The go compiler changed and break statements no longer get compiled to nothing when -N is passed: https://go-review.googlesource.com/#/c/19848/ https://go-review.googlesource.com/#/c/19854/
-
- 28 2月, 2016 2 次提交
- 19 2月, 2016 3 次提交
-
-
由 aarzilli 提交于
Moved the code in testvariables2 and testvariables4 into testvariables3, renamed testvariables3 into testvariables2
-
由 aarzilli 提交于
Step disassembles the current instruction, if it is a CALL sets a temp breakpoint inside the called function, after the prologue and calls Continue. Fixes #332
-
由 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
-
- 11 2月, 2016 1 次提交
-
-
由 aarzilli 提交于
1. A running goroutine is by definition not parked waiting for a chan recv 2. The FDE end address is intended to be exclusive, the code interpreted as inclusive and sometimes ended up setting a breakpoint on a function other than the current one.
-
- 01 2月, 2016 1 次提交
-
-
由 aarzilli 提交于
Fixes #384
-
- 25 1月, 2016 2 次提交
-
-
由 Derek Parker 提交于
This patch modifies the `step` command to step to the next source line, stepping into any function encountered along the way. Fixes #360
-
由 aarzilli 提交于
Typedefs that resolve to slices are not recorded in DWARF as typedefs but instead as structs in a way that there is no way to know they are really slices using debug/dwarf. Using golang.org/x/debug/dwarf instead this problem is solved and as a bonus some types are printed with a nicer names: (struct string → string, struct []int → []int, etc) Fixes #356 and #293
-
- 24 1月, 2016 2 次提交
-
-
由 aarzilli 提交于
Backend only, no UI Implements #120 (partial)
-
由 Luke Hoban 提交于
-
- 21 1月, 2016 1 次提交
-
-
由 Luke Hoban 提交于
Fixes #198.
-
- 16 1月, 2016 1 次提交
-
-
由 aarzilli 提交于
Temp breakpoints should be cleared even if a non-temp breakpoint is triggered on the same goroutine that the temp breakpoints are set on. Fixes #305
-
- 10 1月, 2016 3 次提交
-
-
由 aarzilli 提交于
Prefetch the entire memory of structs and arrays and cache it instead of issuing readMemory calls only when we get down to primitive types. This reduces the number of system calls to ptrace that variables makes. Improves performance in general, greatly improving it in some particular cases (involving large structs). Benchmarks without prefetching: BenchmarkArray-4 10 132189944 ns/op 0.06 MB/s BenchmarkArrayPointer-4 5 202538503 ns/op 0.04 MB/s BenchmarkMap-4 500 3804336 ns/op 0.27 MB/s BenchmarkGoroutinesInfo-4 10 126397104 ns/op BenchmarkLocalVariables-4 500 2494846 ns/op Benchmarks with prefetching: BenchmarkArray-4 200 10719087 ns/op 0.76 MB/s BenchmarkArrayPointer-4 100 11931326 ns/op 0.73 MB/s BenchmarkMap-4 1000 1466479 ns/op 0.70 MB/s BenchmarkGoroutinesInfo-4 10 103407004 ns/op BenchmarkLocalVariables-4 1000 1530395 ns/op Improvement factors: BenchmarkArray 12.33x BenchmarkArrayPointer 16.97x BenchmarkMap 2.59x BenchmarkGoroutinesInfo 1.22x BenchmarkLocalVariables 1.63x
-
由 Derek Parker 提交于
-
由 aarzilli 提交于
Fixes #341
-
- 09 1月, 2016 4 次提交
-
-
由 aarzilli 提交于
Sometimes after PtraceSingleStep the thread does not advance of a single instruction but is, instead, blocked immediately by a SIGSTOP Made singleStep repeat the process until a SIGTRAP is observed. Unsure where the SIGSTOP comes from.
-
由 aarzilli 提交于
Next sets its temporary breakpoints with the condition that they must only activate on the current goroutine, and then calls Continue When Continue encounters a temporary breakpoint it clears all the breakpoint. User visible changes: breakpoints that get hit while executing Next are not ignored. This commit does not implement full conditional breakpoints functionality, the only condition that can be set is on the goroutine id. Fixes race conditions in Next affecting TestNextConcurrent.
-
由 aarzilli 提交于
Fixes #262
-
由 aarzilli 提交于
Breakpoints are skipped either because: 1. when multiple breakpoints are hit simultaneously only one is processed 2. a thread hits a breakpoint while another thread is being singlestepped over the breakpoint. Additionally fixed a race condition between Continue and tracee termination.
-
- 27 12月, 2015 1 次提交
-
-
由 aarzilli 提交于
Fixes #325
-