- 19 4月, 2017 5 次提交
- 14 4月, 2017 1 次提交
-
-
由 Alessandro Arzilli 提交于
* proc: Refactor stackIterator to use memoryReadWriter and BinaryInfo * proc: refactor EvalScope to use memoryReadWriter and BinaryInfo * proc: refactor Disassemble to use memoryReadWriter and BinaryInfo
-
- 07 4月, 2017 1 次提交
-
-
由 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
-
- 23 2月, 2017 1 次提交
-
-
由 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.
-
- 10 2月, 2017 1 次提交
-
-
由 Alessandro Arzilli 提交于
loadValue didn't react correctly to pointer loops going through slice -> interface{} -> slice or pointer -> interface{} -> pointer.
-
- 09 2月, 2017 2 次提交
-
-
由 Derek Parker 提交于
-
由 Derek Parker 提交于
-
- 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 提交于
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.
-
由 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 2 次提交
-
-
由 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
-
由 Alessandro Arzilli 提交于
-
- 06 1月, 2017 1 次提交
-
-
由 Alessandro Arzilli 提交于
* terminal: fixed typo. * debugger: bugfix: when restaring use new process to FindFileLocation
-
- 23 12月, 2016 1 次提交
-
-
由 Alessandro Arzilli 提交于
* service/debugger: Restore breakpoints using file:line on restart Restoring by address can cause the breakpoint to be inserted in the middle of an instruction if the executable file has changed. * terminal: Warn of stale executable when printing source
-
- 20 12月, 2016 1 次提交
-
-
由 aarzilli 提交于
Adds ability to load x87, SSE and AVX registers. Fixes #666
-
- 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
-
- 23 10月, 2016 1 次提交
-
-
由 aarzilli 提交于
Command to step out of the currently executing function. Implements #358
-
- 22 10月, 2016 2 次提交
-
-
由 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.
-
- 30 9月, 2016 1 次提交
-
-
由 aarzilli 提交于
-
- 27 9月, 2016 1 次提交
-
-
由 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
-
- 07 9月, 2016 1 次提交
-
-
由 Alessandro Arzilli 提交于
go1.8 changed the way anonymous struct names are generated for DWARF.
-
- 06 7月, 2016 2 次提交
-
-
由 Alessandro Arzilli 提交于
-
由 Alessandro Arzilli 提交于
Patch https://go-review.googlesource.com/23085 has been merged so we can go back to using golang.org/x/debug/.
-
- 02 7月, 2016 1 次提交
-
-
由 aarzilli 提交于
This version preserves the order of requests, allows the client to switch between API versions and introduces a way to send notifications to the client (see TODO item at: proc/proc_linux.go:325). Fixes #523, #571
-
- 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
-
- 22 6月, 2016 1 次提交
-
-
由 aarzilli 提交于
-
- 21 6月, 2016 1 次提交
-
-
由 Alessandro Arzilli 提交于
-
- 30 5月, 2016 2 次提交
-
-
由 Derek Parker 提交于
-
由 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 提交于
While tracing delve may spend most of its time outside of proc.(*Process).Continue, which renders service/rpc/client.(*Client).Halt ineffective. This commit changes the implementation of service/rpc/client.(*Client).Halt to make it capable of stopping traces.
-