закешированный к нам в целях безопасности дебаггер
Go to file
Alessandro Arzilli be88f980cd
proc: fix escapeCheck infinite recursion if something can not be (#3311)
deref'd

Fix infinite recursion if escapeCheck, at some point during its
recursion, creates an unreadable variable.

The deeper reason for this is that we evaluate function calls in a very
weird order so that we can always have stack space to store
intermediate evaluation results.
The variable 'value' happens to be stored in a register when we try to
make the call and because of our weird evaluation strategy registers
are no longer available to us when we evaluate 'value'.

This is not a complete fix for the issue, the real fix would be to
evaluate everything in its natural order, storing intermediate values
in Delve's memory instead of the target's stack. To do this we need a
mechanism to pin heap allocated objects, which at the moment does not
exist.

Updates #3310
2023-03-27 11:21:01 -07:00
_fixtures proc: fix escapeCheck infinite recursion if something can not be (#3311) 2023-03-27 11:21:01 -07:00
_scripts dwarf/op: change generated comment header (#3288) 2023-02-25 14:12:12 +01:00
.teamcity TeamCity,Documentation: use new TeamCity URL (#3275) 2023-02-15 11:11:42 +01:00
assets Add high-res images 2015-05-19 12:25:26 -05:00
cmd/dlv cmd/dlv: Add flag to replay for rr onprocess pid (#3281) 2023-03-01 11:28:32 -08:00
Documentation Documentation: expand project layout to match usage (#3304) 2023-03-16 12:11:06 -07:00
pkg proc: fix escapeCheck infinite recursion if something can not be (#3311) 2023-03-27 11:21:01 -07:00
service proc: support multiple functions with the same name (#3297) 2023-03-22 11:38:09 -07:00
vendor go.mod: update github.com/google/go-dap to v0.7.0 (#3237) 2023-01-03 08:40:51 -08:00
.cirrus.yml proc: fixes concerning call injection on freebsd and rr (#3000) 2022-05-05 08:39:54 -07:00
.deepsource.toml Continuous Integration cleanup (#2369) 2021-03-08 09:35:56 -08:00
.gitattributes makefile: use git's $Id$ instead of setting ver.Build in makefile (#807) 2017-04-28 10:14:33 -07:00
.gitignore *: Replace libbpfgo with cilium/ebpf (#2771) 2021-11-03 16:58:04 +01:00
CHANGELOG.md *: bump to version 1.20.1 (#3213) 2022-12-12 09:21:46 -08:00
CONTRIBUTING.md README: Remove gitter chat link. 2020-01-21 09:06:53 -08:00
go.mod go.mod: update github.com/google/go-dap to v0.7.0 (#3237) 2023-01-03 08:40:51 -08:00
go.sum go.mod: update github.com/google/go-dap to v0.7.0 (#3237) 2023-01-03 08:40:51 -08:00
ISSUE_TEMPLATE.md Documentation: document substitute-path more (#2998) 2022-05-04 11:01:56 -07:00
LICENSE Add License and README 2014-05-03 15:31:52 -05:00
Makefile pkg/proc: add build scripts & docker image for ebpf (#2847) 2021-12-30 09:04:59 +01:00
README.md TeamCity,Documentation: use new TeamCity URL (#3275) 2023-02-15 11:11:42 +01:00

Delve

license GoDoc Build Status

The GitHub issue tracker is for bugs only. Please use the developer mailing list for any feature proposals and discussions.

About Delve

Delve is a debugger for the Go programming language. The goal of the project is to provide a simple, full featured debugging tool for Go. Delve should be easy to invoke and easy to use. Chances are if you're using a debugger, things aren't going your way. With that in mind, Delve should stay out of your way as much as possible.