- 09 11月, 2018 1 次提交
-
-
由 Derek Parker 提交于
Adds a config file option to allow specifying a list of directories to search in when looking for seperate external debug info files. Fixes #1353
-
- 12 10月, 2018 1 次提交
-
-
由 aarzilli 提交于
Support for position independent executables (PIE) on the native linux backend, the gdbserver backend on linux and the core backend. Also implemented in the windows native backend, but it can't be tested because go doesn't support PIE on windows yet.
-
- 03 10月, 2018 1 次提交
-
-
由 aarzilli 提交于
On macOS 10.14 Apple changed the command line tools so that system headers now need to be manually installed. Instead of adding one extra install step to the install procedure add a build tag to allow compilation of delve without the native backend on macOS. By default (i.e. when using `go get`) this is how delve will be compiled on macOS, the make script is changed to enable compiling the native backend if the required dependencies have been installed. Insure that both configuration still build correctly on Travis CI and change the documentation to describe how to compile the native backend and that it isn't normally needed. Fixes #1359
-
- 20 9月, 2018 1 次提交
-
-
由 Derek Parker 提交于
Refactors some code, adds a bunch of docstrings and just generally fixes a bunch of linter complaints.
-
- 12 6月, 2018 1 次提交
-
-
由 aarzilli 提交于
Displays the return values of the current function when we step out of it after executing a step, next or stepout command. Implementation of this feature is tricky: when the function has returned the return variables are not in scope anymore. Implementing this feature requires evaluating variables that are out of scope, using a stack frame that doesn't exist anymore. We can't calculate the address of these variables when the next/step/stepout command is initiated either, because between that point and the time where the stepout breakpoint is actually hit the goroutine stack could grow and be moved to a different memory address.
-
- 19 5月, 2018 1 次提交
-
-
由 aarzilli 提交于
Change the linux verison of proc/native and proc/gdbserial (with debugserver) so that they let the target process use the terminal when delve is launched in headless mode. Windows already worked, proc/gdbserial (with rr) already worked. I couldn't find a way to make proc/gdbserial (with lldb-server) work. No tests are added because I can't think of a way to test for foregroundness of a process. Fixes #65
-
- 07 3月, 2018 4 次提交
-
-
由 aarzilli 提交于
The windows backend isn't using the halt field so it can be removed there. On linux it can be replaced with a parameter passed to trapWait.
-
由 aarzilli 提交于
Windows and macOS aren't using this field so move it to the os-specific thread struct and remove it from everything except linux.
-
由 aarzilli 提交于
-
由 aarzilli 提交于
the proper way to kill the target process is to pass true to Detach. Everything except old test code did that already.
-
- 08 2月, 2018 1 次提交
-
-
由 Matt Bauer 提交于
* Handle race between fork and task_for_pid On macOS a call to fork and a subsequent call to task_for_pid will race each other. This is because the macOS kernel assigns a new proc_t structure early but the new task, thread and uthread come much later. The function exec_mach_imgact in the XNU sources contains this logic. In a system under load or one with delays in fork processing (i.e. various security software), task_for_pid as currently called by Delve often returns the parent task. This can be seen by printing out the task number around line 86. In a normal system we would see three calls: -> ~/go/bin/dlv --listen=localhost:59115 --headless=true --api-version=2 --backend=native exec ./___main_go -- Task: 9731 Task: 9731 Task: 9731 API server listening at: 127.0.0.1:59115 This is the result on a system where the race is lost: -> ~/go/bin/dlv --listen=localhost:59115 --headless=true --api-version=2 --backend=native exec ./___main_go -- Task: 8707 Task: 10499 Task: 10499 could not launch process: could not get thread count In this latter case, task 8707 is the parent task. The child task of 10499 was desired and hence the error. This code change checks to make sure the returned task is not that of the parent. If it is, it retries. It's possible other macOS reported Delve issues are the result of this failed race. * proc: correct formatting
-
- 21 11月, 2017 1 次提交
-
-
由 aarzilli 提交于
Conditional breakpoints with unmet conditions would cause next and step to skip the line. This breakpoint changes the Kind field of proc.Breakpoint from a single value to a bit field, each breakpoint object can represent simultaneously a user breakpoint and one internal breakpoint (of which we have several different kinds). The breakpoint condition for internal breakpoints is stored in the new internalCond field of proc.Breakpoint so that it will not conflict with user specified conditions. The breakpoint setting code is changed to allow overlapping one internal breakpoint on a user breakpoint, or a user breakpoint on an existing internal breakpoint. All other combinations are rejected. The breakpoint clearing code is changed to clear the UserBreakpoint bit and only remove the phisical breakpoint if no other bits are set in the Kind field. ClearInternalBreakpoints does the same thing but clearing all bits that aren't the UserBreakpoint bit. Fixes #844
-
- 31 8月, 2017 1 次提交
-
-
由 aarzilli 提交于
Fixes #940
-
- 30 6月, 2017 1 次提交
-
-
由 Alessandro Arzilli 提交于
Windows doesn't actually have ptrace. Fixes #778
-
- 13 6月, 2017 1 次提交
-
-
由 aarzilli 提交于
RequestManualStop will run concurrently with trapWait, since one writes dbp.halt and the other reads it dbp.halt should be protected by a mutex. Updates #830
-
- 06 5月, 2017 1 次提交
-
-
由 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
-
- 22 4月, 2017 1 次提交
-
-
由 aarzilli 提交于
- move native backend to pkg/proc/native - move gdbserver backend to pkg/proc/gdbserial - move core dumps backend to pkg/proc/core
-
- 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 2月, 2017 1 次提交
-
-
由 Alessandro Arzilli 提交于
Fixes #732
-
- 09 2月, 2017 3 次提交
-
-
由 Koichi Shiraishi 提交于
Signed-off-by: NKoichi Shiraishi <zchee.io@gmail.com>
-
由 Derek Parker 提交于
-
由 Derek Parker 提交于
-
- 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
-
- 17 12月, 2016 1 次提交
-
-
由 aarzilli 提交于
Fixes #645
-
- 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
-
- 06 7月, 2016 1 次提交
-
-
由 Alessandro Arzilli 提交于
Patch https://go-review.googlesource.com/23085 has been merged so we can go back to using golang.org/x/debug/.
-
- 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.
-
- 13 4月, 2016 1 次提交
-
-
由 Derek Parker 提交于
-
- 25 1月, 2016 4 次提交
-
-
由 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
-
由 aarzilli 提交于
-
由 aarzilli 提交于
-
- 21 1月, 2016 1 次提交
-
-
由 Luke Hoban 提交于
Fixes #198.
-
- 10 1月, 2016 2 次提交
-
-
由 Derek Parker 提交于
-
由 Derek Parker 提交于
-
- 09 1月, 2016 3 次提交