- 25 5月, 2017 1 次提交
-
-
由 Alessandro Arzilli 提交于
type M struct was never used (as far as I know). type VariableEval interface was used for a brief period of time during the refactoring, now both its methods are functions.
-
- 23 5月, 2017 1 次提交
-
-
由 Alessandro Arzilli 提交于
The authorization prompt on macOS can take a long time to be acknowledged by the user, we should keep waiting for a connection as long as the debugserver instance we launched remains alive.
-
- 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
-
- 16 5月, 2017 1 次提交
-
-
由 Alessandro Arzilli 提交于
Debugserver does not work as documented, "--" needs to be specified to pass arguments to the target process (but only if it's an argument that starts with a dash). Fixes #839
-
- 12 5月, 2017 1 次提交
-
-
由 Alessandro Arzilli 提交于
Fixes #836
-
- 10 5月, 2017 1 次提交
-
-
由 Alessandro Arzilli 提交于
You usually want to know the reason for the panic when a panic happens, it can be printed manually this is a small quality of life improvement.
-
- 06 5月, 2017 2 次提交
-
-
由 Alessandro Arzilli 提交于
Implements #727
-
由 Alessandro Arzilli 提交于
While implementing the gdbserial backend everything was changed to call Detach to "close" a process so that gdbserial could do its clean up in a single place. However the native implementation of Detach does not actually kill processes we launched. Fixes #821
-
- 05 5月, 2017 2 次提交
-
-
由 Alessandro Arzilli 提交于
debugserver requires a special option to forward the environment to the target. Fixes #818
-
由 Alessandro Arzilli 提交于
Lldb-server does not currently support windows/amd64 (it's in development). And delve's native backend seems to work well on windows. Disable the lldb backend on windows for now. Fixes #817
-
- 02 5月, 2017 1 次提交
-
-
由 Alessandro Arzilli 提交于
Fixes #809
-
- 29 4月, 2017 1 次提交
-
-
由 Alessandro Arzilli 提交于
* proc/native: remove unused utility methods * proc: turn FindFileLocation, FindFunctionLocation, FirstPCAfterPrologue methods into function
-
- 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
-
- 25 4月, 2017 1 次提交
-
-
由 Alessandro Arzilli 提交于
Fixes #799
-
- 22 4月, 2017 3 次提交
-
-
由 Nathan Bruer 提交于
Go recently introduced proposal tags to their version tags, we are simply allowing delve to handle it appropriately. See: https://github.com/golang/go/commit/0954fdd51e390e209317d4652d7effc15512fd50
-
由 aarzilli 提交于
- moved target.Interface into proc as proc.Process - rename proc.IThread to proc.Thread - replaced interfaces DisassembleInfo, Continuable and EvalScopeConvertible with Process. - removed superfluous Gdbserver prefix from types in the gdbserial backend. - removed superfluous Core prefix from types in the core backend.
-
由 aarzilli 提交于
- move native backend to pkg/proc/native - move gdbserver backend to pkg/proc/gdbserial - move core dumps backend to pkg/proc/core
-
- 19 4月, 2017 8 次提交
-
-
由 aarzilli 提交于
-
由 aarzilli 提交于
-
由 aarzilli 提交于
-
由 aarzilli 提交于
-
由 aarzilli 提交于
-
由 aarzilli 提交于
-
由 aarzilli 提交于
-
由 Heschi Kreinick 提交于
Core files contain a variety of memory mappings either to files or anonymous regions stored in the core file. These regions can overlap, so figuring out what exactly to read can be tricky. This commit contains a data structure, SplicedMemory, which accumulates mappings and reads from the correct sources.
-
- 18 4月, 2017 1 次提交
-
-
由 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
-
- 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
-
- 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
-
- 14 3月, 2017 4 次提交
-
-
由 Alessandro Arzilli 提交于
We only use Registers.Get besides for evaluating the argument of a CALL instruction so this doesn't matter in practice, but it's still wrong.
-
由 dr2chase 提交于
Stack barriers were removed in Go 1.9, and thus code that expected various stack-barrier-related symbols to exist does not find them. Check for their absence and do not crash when they are missing. Disable stack-barrier-handling test for 1.9 and beyond. Fixes #754.
-
由 Alessandro Arzilli 提交于
One of those goroutines could also conceivably be stopped on line 8.
-
由 Alessandro Arzilli 提交于
The rest of the code uses Detach to "close" a proc.Process, the tests should do the same. Any cleanup that proc.Process needs to do can then be put inside Detach and the tests will run it.
-
- 23 2月, 2017 3 次提交
-
-
由 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.
-
由 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.
-
由 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.
-
- 22 2月, 2017 1 次提交
-
-
由 Alessandro Arzilli 提交于
Changes to the GC in 1.8 make this test fail because the GC isn't inserting stack barriers into our test program anymore. This isn't the same thing as being unable to print stacktraces in presence of stack barriers so the test shouldn't fail.
-
- 17 2月, 2017 1 次提交
-
-
由 Alessandro Arzilli 提交于
The PC we have is relative to the first instruction after the CALL instruction currently being executed. Anyone watching a disassembly will understand what's happening if we report the return PC, but reporting the first PC of the current line is useless and confusing.
-
- 14 2月, 2017 1 次提交
-
-
由 Alessandro Arzilli 提交于
Fixes #732
-
- 10 2月, 2017 1 次提交
-
-
由 Alessandro Arzilli 提交于
loadValue didn't react correctly to pointer loops going through slice -> interface{} -> slice or pointer -> interface{} -> pointer.
-