закешированный к нам в целях безопасности дебаггер
Go to file
Alessandro Arzilli f3e76238e3
proc: move breakpoint condition evaluation out of backends (#2628)
* proc: move breakpoint condition evaluation out of backends

Moves breakpoint condition evaluation from the point where breakpoints
are set, inside ContinueOnce, to (*Target).Continue.

This accomplishes three things:

1. the breakpoint evaluation method needs not be exported anymore
2. breakpoint condition evaluation can be done with a full scope,
   containing a Target object, something that wasn't possible before
   because ContinueOnce doesn't have access to the Target object.
3. moves breakpoint condition evaluation out of the critical section
   where some of the threads of the target process might be still
   running.

* proc/native: handle process death during stop() on Windows

It is possible that the thread dies while we are inside the stop()
function. This results in an Access is denied error being returned by
SuspendThread being called on threads that no longer exist.

Delay the reporting the error from SuspendThread until the end of
stop() and only report it if the thread still exists at that point.

Fixes flakyness with TestIssue1101 that was exacerbated by moving
breakpoint condition evaluation outside of the backends.
2021-08-09 10:16:24 -07:00
_fixtures Go 1.17 support branch (#2451) 2021-07-08 08:47:53 -07:00
_scripts proc: move breakpoint condition evaluation out of backends (#2628) 2021-08-09 10:16:24 -07:00
.teamcity teamcity: use same token everywhere (#2609) 2021-07-21 08:35:36 -07:00
assets Add high-res images 2015-05-19 12:25:26 -05:00
cmd/dlv cmd/dlv: use simple chan read instead of select-case (#2649) 2021-08-09 10:08:12 -07:00
Documentation *: Initial eBPF tracing support (#2625) 2021-07-31 17:16:26 +02:00
pkg proc: move breakpoint condition evaluation out of backends (#2628) 2021-08-09 10:16:24 -07:00
service proc: move breakpoint condition evaluation out of backends (#2628) 2021-08-09 10:16:24 -07:00
vendor vendor: run go mod vendor (#2647) 2021-08-06 08:26:44 +02:00
.cirrus.yml *: Update freebsd image 2020-04-08 11:40:24 +02: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 *: Initial eBPF tracing support (#2625) 2021-07-31 17:16:26 +02:00
CHANGELOG.md *: Release 1.7.0 (#2591) 2021-07-16 15:31:52 +02:00
CONTRIBUTING.md README: Remove gitter chat link. 2020-01-21 09:06:53 -08:00
go.mod pkg/terminal: Allow fuzzy searching tab completions (#2633) 2021-08-05 19:55:27 +02:00
go.sum pkg/terminal: Allow fuzzy searching tab completions (#2633) 2021-08-05 19:55:27 +02:00
ISSUE_TEMPLATE.md misc: Include issue template for GitHub 2016-03-03 10:40:14 -08:00
LICENSE Add License and README 2014-05-03 15:31:52 -05:00
Makefile *: Initial eBPF tracing support (#2625) 2021-07-31 17:16:26 +02:00
README.md Change TeamCity test matrix and drop appveyor/travis-ci configurations (#2315) 2021-01-25 20:48:27 -08: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.