- 02 8月, 2017 2 次提交
- 27 7月, 2017 1 次提交
-
-
由 Alessandro Arzilli 提交于
If the user tries to list the contents of a function pointer but forgets the '*' operator the location lookup will fail and result in a unhelpful "location not found" error. Instead if the location lookup fails we should try interpreting the locspec as if it was preceded by '*'.
-
- 21 7月, 2017 1 次提交
-
-
由 Alessandro Arzilli 提交于
Updates #794
-
- 19 7月, 2017 1 次提交
-
-
由 Florin Pățan 提交于
-
- 08 7月, 2017 1 次提交
-
-
由 Alessandro Arzilli 提交于
Fixes #904
-
- 31 5月, 2017 1 次提交
-
-
由 Alessandro Arzilli 提交于
If we don't fill the Len field there will be no way for the user to distinguish maps we didn't load from empty maps.
-
- 27 5月, 2017 1 次提交
-
-
由 Alessandro Arzilli 提交于
Buckets of maps with zero sized value types (i.e. map[T]struct{}) have zero length value arrays.
-
- 17 5月, 2017 1 次提交
-
-
由 Alessandro Arzilli 提交于
Before this commit our temp breakpoints only checked that we would stay on the same goroutine. However this isn't enough for recursive functions we must check that we stay on the same goroutine AND on the same stack frame (or, in the case of the StepOut breakpoint, the previous stack frame). This commit: 1. adds a new synthetic variable runtime.frameoff that returns the offset of the current frame from the base of the call stack. This is similar to runtime.curg 2. Changes the condition used for breakpoints on the lines of the current function to check that runtime.frameoff hasn't changed. 3. Changes the condition used for breakpoints on the return address to check that runtime.frameoff corresponds to the previous frame in the stack. 4. All other temporary breakpoints (the step-into breakpoints and defer breakpoints) remain unchanged. Fixes #828
-
- 09 5月, 2017 1 次提交
-
-
由 Alessandro Arzilli 提交于
If CurrentThread isn't running a goroutine SelectedGoroutine can be nil, do not blindly dereference it. Fixes #827
-
- 05 5月, 2017 1 次提交
-
-
由 Alessandro Arzilli 提交于
debugserver requires a special option to forward the environment to the target. Fixes #818
-
- 26 4月, 2017 1 次提交
-
-
由 Alessandro Arzilli 提交于
* proc/eval: fix length calculation for string concatenation * proc/variable: find package variables when the package has a path
-
- 19 4月, 2017 1 次提交
-
-
由 aarzilli 提交于
-
- 29 3月, 2017 1 次提交
-
-
由 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
-
- 10 2月, 2017 1 次提交
-
-
由 Alessandro Arzilli 提交于
loadValue didn't react correctly to pointer loops going through slice -> interface{} -> slice or pointer -> interface{} -> pointer.
-
- 08 2月, 2017 3 次提交
-
-
由 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.
-
由 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
-
由 Alessandro Arzilli 提交于
* dwarf/line: bugfix: not all values of the state machine can be used According to DWARF Version 3 Section 6.2 "Line Number Information" not all the values transversed by the line numbers state machine are valid instructions, only the ones after a "special opcode", after the standard opcode DW_LNS_copy and the extended opcode DW_LINE_end_sequence. DWARF3 describes this by specifying that only the opcodes listed above "append a row to the matrix". Additionally the implementation of DW_LNS_const_add_pc was wrong. Fixes #664 * dwarf/line: fixed test failing with go1.8 * service/test: fix prologue detection tests The conditions about which function prologue is emitted by the compiler changed in go1.8, changed the test program so that callme2 will still have a prologue under go1.8. * service/test: fix step test compilation units are linked in a different order under go1.8 so the code of 'fmt' is no longer located after 'main' in the executable, changed the tests so that they don't rely on this assumption anymore. * proc: change runtime.Breakpoint support for go1.8 Before 1.8 it was sufficient to step twice to exit a runtime.Breakpoint(), but go 1.8 added frame pointer tracking to small functions making runtime.Breakpoint longer. This changes runtime.Breakpoint handling in Continue to single step as many times as are needed to exit runtime.Breakpoint. * proc/test: fix TestIssue561 for go1.8
-
- 21 1月, 2017 1 次提交
-
-
由 Alessandro Arzilli 提交于
Unfortunately go/constant does not support NaN and Inf float values so we need to store this information alongside. Fixes #705
-
- 10 1月, 2017 1 次提交
-
-
由 Alessandro Arzilli 提交于
* service: Prevent panics from crashing delve and killing the target Catch all unrecovered proc and debugger panics in the service layer and report them as errors, allow users to cleanly detach from the target and quit. Fixes #614 * proc: Next/Step should not panic if line info can not be found. Fixes #683
-
- 20 12月, 2016 1 次提交
-
-
由 aarzilli 提交于
Adds ability to load x87, SSE and AVX registers. Fixes #666
-
- 03 11月, 2016 1 次提交
-
-
由 Alessandro Arzilli 提交于
Since we store all signed integers as int64 the sign bit should be extended, otherwise we read negative integers as their 2-complement value.
-
- 02 11月, 2016 1 次提交
-
-
由 Evgeny L 提交于
* proc: Add `wd` to Launch This change adds the `wd` arg which specify working directory of the program. Fixes #295 * service/debugger: Add `Wd` field to debugger.Config This change adds the `Wd` field which specify working directory of the program launched by debugger. Fixes #295 * service: Add `Wd` to service.Config This change adds the `Wd` field which specify working directory of the program debugger will launch. Fixes #295 * cmd/dlv: Add `Wd` flag This change adds `Wd` flag which specify working directory of the program which launched by debugger. Fixes #295 * only set the Linux working directory if it is set, stub out param in darwin and windows * set working directory for Windows https://godoc.org/golang.org/x/sys/windows#CreateProcess https://msdn.microsoft.com/en-us/library/windows/desktop/ms682425(v=vs.85).aspx * Windows workingDir must be an *uint16 * attempt to chdir on darwin via @yuntan * proc/exec_darwin.c: fix working directory for darwin * Add tests to check if working directory works. * Fix darwin implementation of fork/exec, which paniced if child fork returned. * cmd, service: rename Wd to WorkingDir
-
- 27 10月, 2016 1 次提交
-
-
由 aarzilli 提交于
Generate names of the concrete types stored inside interface variables by fully parsing their runtime._type instead of simply using the str field. This allows delve to read the contents of an interface variable when the program imports multiple packages that have the same name. It also allows delve to correctly interpret some complex anonymous types. Fixes #455
-
- 22 10月, 2016 3 次提交
-
-
由 Alessandro Arzilli 提交于
-
由 Alessandro Arzilli 提交于
If the location specification matches the name of a function exactly return that function as a match event if the expression matches other functions as well. Without this some functions, like math/rand.Intn are unmatchable.
-
由 Alessandro Arzilli 提交于
* proc: changed windows backend to deal with simultaneous breakpoints * bugfix: forgot to add windowsPrologue3 to the prologues list in e4c7df14 * Tolerate errors returned by Stacktrace in TestStacktraceGoroutine. * bugfix: proc: propagate debug events we don't cause back to the target process Fixes: #594 * proc: fixed TestStepConcurrentPtr Implementation of nextInProgress was wrong.
-
- 30 9月, 2016 1 次提交
-
-
由 aarzilli 提交于
-
- 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
-
- 25 9月, 2016 1 次提交
-
-
由 Alessandro Arzilli 提交于
Allows quoted substrings in build-flags flag. This fixes a build problem on windows where the default build flags must contain a space. Fixes #634 and #638
-
- 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
-
- 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
-
- 30 5月, 2016 1 次提交
-
-
由 Alessandro Arzilli 提交于
* tests: update to cope with go1.7 SSA compiler * de-vendored golang.org/x/debug/dwarf We need our own tweaked version * dwarf/debug/dwarf: always use the entry's name attribute Using the name attribute leads to better type names as well as fixes inconsistencies between 1.5, 1.6 and 1.7. * proc: Updated loadInterface to work with go1.7 go1.7 changed the internal representation of types, removing the string field from runtime._type. Updated loadInterface to use the new str field.
-
- 18 5月, 2016 1 次提交
-
-
由 aarzilli 提交于
This issue is fixed by go 1.7, the test will only run on newer versions of the compiler.
-
- 25 4月, 2016 3 次提交
-
-
由 Alessandro Arzilli 提交于
* proc: bugfix: StepInto can not function when temp bps exist * terminal,service: auto-continue during next and step Make dlv call continue automatically when a breakpoint is hit on a different goroutine during a next or step operation. Added API hooks to implement the other solution to this problem (cancel the next/step operation if a different breakpoint is hit). Fixes #387
-
由 Alessandro Arzilli 提交于
If we are unable to correctly guess how a type is serialized in debug_info let the user specify it directly. Workaround for #455
-
由 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
-
- 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
-