- 27 11月, 2018 1 次提交
-
-
由 Sergio Lopez 提交于
Otherwise the later call to ioutil.ReadAll will return an empty array. This issue is visible from the user's perspective due to the new debug-info-directories parameter, which does have a value in the default config. As a consequence, the first 'dlv' invocation fails to find the separate debug info files, while the second one works as expected: $ ./dlv core /usr/bin/dockerd-current /case/dockerd.1234 could not find external debug info file $ ./dlv core /usr/bin/dockerd-current /case/dockerd.1234 Type 'help' for list of commands. (dlv) exit
-
- 22 11月, 2018 2 次提交
-
-
由 aarzilli 提交于
Minidumps are the windows equivalent of unix core files. This commit updates pkg/proc/core so that it can open and read windows minidumps. Updates #794
-
由 aarzilli 提交于
Move windows register handling code to winutil package in preparation for using it in proc/core to read minidump files.
-
- 21 11月, 2018 4 次提交
-
-
由 aarzilli 提交于
If a function can be inlined it will appear as two entries in debug_info. A DW_TAG_subprogram entry with DW_AT_inlined = true (that will be used as the abstract origin) and a second DW_TAG_subprogram entry with an abstract origin. To retrieve the name of this second entry we must load its abstract origin.
-
由 aarzilli 提交于
If proc.Step encounters a CALL instruction that points to an address that isn't associated with any function it should still follow the CALL. The circumstances creating this problem do not normally occur, it was encountered in the process of fixing a bug created by Go1.12.
-
由 aarzilli 提交于
-
由 aarzilli 提交于
It was never true that return variables were in the inverse order. Instead in Go1.11 return variables are saved in debug_info in an arbitrary order and inverting them just happened to work for this specific example. This bug was fixed in Go 1.12, regardless we should attempt to rearrange return variables anyway.
-
- 20 11月, 2018 2 次提交
-
-
由 aarzilli 提交于
When a location expression requests a register check that we have as many bytes in the register as requested and if we don't report the error. Updates #1416
-
由 Sergio Lopez 提交于
Instead of unconditionally returning all present goroutines, GoroutinesInfo now allows specifying a range (start and count). In addition to the array of goroutines and the error, it now also returns the next goroutine to be processed, to be used as 'start' argument on the next call, or 0 if all present goroutines have already been processed. This way clients can avoid eating large amounts of RAM while debugging core dumps and processes with a exceptionally high amount of goroutines. Fixes #1403
-
- 16 11月, 2018 2 次提交
-
-
由 Derek Parker 提交于
-
由 Derek Parker 提交于
This patch is a slight refactor to share more code used for genericprocess initialization. There will always be OS/backend specificinitialization, but as much as can be shared should be to preventduplicating of any logic (setting internal breakpoints, loading bininfo,etc).
-
- 14 11月, 2018 1 次提交
-
-
由 Derek Parker 提交于
-
- 10 11月, 2018 1 次提交
-
-
由 aarzilli 提交于
Users can create sparse maps in two ways, either by: a) adding lots of entries to a map and then deleting most of them, or b) using the make(mapType, N) expression with a very large N When this happens reading the resulting map will be very slow because loadMap needs to scan many buckets for each entry it finds. Technically this is not a bug, the user just created a map that's very sparse and therefore very slow to read. However it's very annoying to have the debugger hang for several seconds when trying to read the local variables just because one of them (which you might not even be interested into) happens to be a very sparse map. There is an easy mitigation to this problem: not reading any additional buckets once we know that we have already read all entries of the map, or as many entries as we need to fulfill the MaxArrayValues parameter. Unfortunately this is mostly useless, a VLSM (Very Large Sparse Map) with a single entry will still be slow to access, because the single entry in the map could easily end up in the last bucket. The obvious solution to this problem is to set a limit to the number of buckets we read when loading a map. However there is no good way to set this limit. If we hardcode it there will be no way to print maps that are beyond whatever limit we pick. We could let users (or clients) specify it but the meaning of such knob would be arcane and they would have no way of picking a good value (because there is no objectively good value for it). The solution used in this commit is to set an arbirtray limit on the number of buckets we read but only when loadMap is invoked through API calls ListLocalVars and ListFunctionArgs. In this way `ListLocalVars` and `ListFunctionArgs` (which are often invoked automatically by GUI clients) remain fast even in presence of a VLSM, but the contents of the VLSM can still be inspected using `EvalVariable`.
-
- 09 11月, 2018 4 次提交
-
-
由 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
-
由 Derek Parker 提交于
-
由 Derek Parker 提交于
-
由 Derek Parker 提交于
-
- 07 11月, 2018 3 次提交
-
-
由 Derek Parker 提交于
-
由 aarzilli 提交于
Make code in core.go OS and architecture agnostic in preparation for adding Windows minidump support.
-
由 aarzilli 提交于
Some tests used a fake vendor directory placed inside _fixtures to import some support packages. In go.mod mode vendor directory are only supported on the root of the project, which breaks some of our tests. Since vendor directories outside the root of the project are so rare anyway it's possible that a future version of go will stop supporting it even in GOPATH mode. Also it was weird and unnecessary in the first place anyawy.
-
- 01 11月, 2018 1 次提交
-
-
由 Derek Parker 提交于
For some reason the Go file pkg/dwarf/reader/reader.go had the exec bit set on it. This patch removes that.
-
- 23 10月, 2018 1 次提交
-
-
由 aarzilli 提交于
The linux version of proc/native and proc/core contained largely overlapping implementations of the register handling code, deduplicate it by moving it into proc/linutil.
-
- 20 10月, 2018 2 次提交
-
-
由 Derek Parker 提交于
This patch allows the `trace` CLI subcommand to display return values of a function. Additionally, it will also display information on where the function exited, which could also be helpful in determining the path taken during function execution. Fixes #388
-
由 aarzilli 提交于
Some libraries (for example steam_api64.dll) will send this exception code to set the thread name on Microsoft VisualC. In theory it should be fine to send the exception back to the target, which is responsible for setting a handler for it, in practice in some cases (steam_api64.dll) this will crash the program. So we'll mask it instead. Fixes #1383
-
- 19 10月, 2018 1 次提交
-
-
由 aarzilli 提交于
Fixes #1378
-
- 18 10月, 2018 5 次提交
-
-
由 Derek Parker 提交于
Adds an --exec flag for the trace subcommand allowing users to specify a pre-compiled binary to exec and trace. Also adds a --test flag as a convienance for compiling and tracing a test binary. Fixes #1073
-
由 Derek Parker 提交于
Fix a bug where the regexp would be used as a package string incorrectly. This would manifest when trying to execute the trace subcommand as `dlv trace <regexp>` without specifying a package identifier. The `<regexp>` would be passed to the Go build command causing an error.
-
由 aarzilli 提交于
ContinueOnce didn't detect the way RR signals that it has reached the start of the process and would never finish. Fixes #1376
-
由 aarzilli 提交于
Continue did not resume execution after a call to CallFunction if the point where the process was stopped, before the call CallFunction, was a breakpoint. Fixes #1374
-
由 aarzilli 提交于
The name "where" may confuse users into thinking that this parameter actually does something where in fact it's just arbitrary text used to identify the checkpoint. Fixes #1373
-
- 16 10月, 2018 3 次提交
-
-
由 aarzilli 提交于
Add ability to evaluate variables on the scope of a deferred call's argument frame.
-
由 aarzilli 提交于
Fix escape checking in function calls and add a flag to disable it.
-
由 chainhelen 提交于
Extend `string()` 1.convert `byte/rune array`(not only `slice`) to string. 2.convert string to string(itself), just like `string(str)` in go language.
-
- 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.
-
- 11 10月, 2018 1 次提交
-
-
由 Russ Magee 提交于
This change adds a config flag to specify the foreground color of line numbers for the source list command.
-
- 09 10月, 2018 2 次提交
-
-
由 chainhelen 提交于
Use the defination of Server interface in service package, instead of temporary in func.
-
由 aarzilli 提交于
Replace the socket connection with an in-memory connection (created by net.Pipe) for non-headless uses of delve. This is faster and more secure. Fixes #1332
-
- 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
-
- 28 9月, 2018 1 次提交
-
-
由 aarzilli 提交于
With this syntax users do not need to type the concrete type of an interface variable to access its contents. This also sidesteps the problem where the serialization of a type by go/printer is different from the one used for debug_info type names. Updates #1328
-
- 26 9月, 2018 1 次提交
-
-
由 chainhelen 提交于
Use IsInternal and IsUser of Breakpoint, not duplicate code
-