profile
viewpoint
Derek Parker derekparker Red Hat Bay Area, CA https://derkthedaring.info/ Senior Software Engineer at Red Hat. Previously CoreOS, Hashrocket.

derekparker/delve 109

Delve is a debugger for the Go programming language.

derekparker/exploration 3

Random explorations.

dastels/transit-go 2

A Go implementation of Transit

derekparker/go 2

The Go programming language

derekparker/flatware 1

A fancy man's spork

derekparker/celluloid 0

Actor-based concurrent object framework for Ruby

derekparker/celluloid-io 0

Evented sockets for Celluloid actors

push eventgo-delve/delve

polinasok

commit sha 4be75bec5910d17c119acfd79d9017078e8ae3e3

service/dap: Add buildFlags error checking and tests in launch requests (#2056) * service/dap: Add error checking and tests for buildFlags in launch requests * Clarify with comments and better naming * Undo redundant support.go changes * Undo redundant support.go changes (attempt #2) Co-authored-by: Polina Sokolova <polinasok@users.noreply.github.com>

view details

push time in 3 days

PR closed go-delve/delve

cmd/delve: Add command line flag to retain output

We add an option to keep the temporary binary file build by Delve.

Currently, the delve cli removes the temporary files created by the build system when it exits.

Unfortunately, this means go build must re-link the output on each session, even when the source files have not changed, and can result in significant time waiting.

e.g.

$ echo -n 'q' | time dlv debug
        22.48 real        20.97 user         6.82 sys
$ echo -n 'q' | time dlv debug --keep-output
        21.70 real        19.45 user         6.60 sys
$ echo -n 'q' | time dlv debug
        2.74 real         3.64 user         2.90 sys
$ echo '// force build' >> main.go
$ echo -n 'q' | time dlv debug --keep-output
        22.29 real        21.01 user         6.36 sys
+51 -14

1 comment

16 changed files

jquirke

pr closed time in 3 days

pull request commentgo-delve/delve

cmd/delve: Add command line flag to retain output

I prefer not to add this because we already have a mechanism for doing this. What you really want is dlv exec with a prebuilt binary, I think.

jquirke

comment created time in 3 days

Pull request review commentgo-delve/delve

proc/*: move Set/Clear Breakpoint methods to Target

 func (bpmap *BreakpointMap) Set(addr uint64, kind BreakpointKind, cond ast.Expr, }  // SetWithID creates a breakpoint at addr, with the specified logical ID.-func (bpmap *BreakpointMap) SetWithID(id int, addr uint64, writeBreakpoint WriteBreakpointFn) (*Breakpoint, error) {-	bp, err := bpmap.Set(addr, UserBreakpoint, nil, writeBreakpoint)+func (t *Target) setWithID(id int, addr uint64) (*Breakpoint, error) {

This method looses some context when attached to Target instead of BreakpointMap. This might be better as just a function.

aarzilli

comment created time in 5 days

created taggo-delve/delve

tagv1.4.1

Delve is a debugger for the Go programming language.

created time in 9 days

release go-delve/delve

v1.4.1

released time in 9 days

delete branch derekparker/delve

delete branch : v1.4.1

delete time in 9 days

pull request commentgo-delve/delve

*: v1.4.1

@chainhelen right! Added it in.

derekparker

comment created time in 9 days

pull request commentgo-delve/delve

pkg,service: support 386 on linux

@chainhelen right! Added it in, can't believe I overlooked that one.

chainhelen

comment created time in 9 days

push eventderekparker/delve

Derek Parker

commit sha 93ac60a5a8684e8042f6a005de1ef16ec94b6e91

*: v1.4.1

view details

push time in 9 days

PR opened go-delve/delve

Reviewers
*: v1.4.1

Bump version to v1.4.1.

There's a good amount of fixes and optimizations in this release and a some new features as well.

I'm marking the date as tomorrow because that's likely when this will get merged. Also removing some out of date text from the top of the CHANGELOG.

+32 -2

0 comment

2 changed files

pr created time in 10 days

create barnchderekparker/delve

branch : v1.4.1

created branch time in 10 days

push eventderekparker/delve

Alessandro Arzilli

commit sha f559c3c421dcb0777896114673f2f270a2895290

gobuild: pass-through stdout to 'go' command invocation (#2044) When trying to compile tests in a package that does not contain tests 'go' emits an error message on stdout instead of stderr. Let the 'go' command write to stdout too. Fixes #2042

view details

Anders Kaare

commit sha 71a460fc0fe578cc81dab152e3dd2515a9304da1

config: add option for printfile() line count (#2043) The option is "source-list-line-count". It defaults to 5, which was previously hardcoded in printfile(), but now you can change it dynamically, for instance: $ config source-list-line-count 20 $ list

view details

polinasok

commit sha f92afb9c17c49b0b585af4d95d84bcfc1fceef14

service/dap: Adds launch request support for program args (#2040) * Adds launch request support for program args * Combine types of function parameters Co-authored-by: Polina Sokolova <polinasok@users.noreply.github.com>

view details

Alessandro Arzilli

commit sha a33be4466fda916604c638b1ceffd6bd10521f86

vendor: update logrus dependency (#2048) Fixes #2037

view details

Derek Parker

commit sha f96663a243ac3d844a3e43731d7eaf5b1bf3dfab

cmd/dlv: Fix trace output (#2038) * cmd/dlv,debugger: Improve dlv trace and trace command output This patch improves the `dlv trace` subcommand output by reducing the noise that is generated and providing clearer more concise information. Also adds new tests closing a gap in our testing (we previously never really tested this subcommand). This patch also fixes the `dlv trace` REPL command to behave like the subcommand in certain situations. If the tracepoint is for a function, we now show function arguements and return values properly. Also makes the overall output of the trace subcommand clearer. Fixes #2027

view details

Alessandro Arzilli

commit sha 200994bc8f6108cc441fdf110ddb44e0184c1fe0

proc/*: only load floating point registers when needed (#1981) Changes implementations of proc.Registers interface and the op.DwarfRegisters struct so that floating point registers can be loaded only when they are needed. Removes the floatingPoint parameter from proc.Thread.Registers. This accomplishes three things: 1. it simplifies the proc.Thread.Registers interface 2. it makes it impossible to accidentally create a broken set of saved registers or of op.DwarfRegisters by accidentally calling Registers(false) 3. it improves general performance of Delve by avoiding to load floating point registers as much as possible Floating point registers are loaded under two circumstances: 1. When the Slice method is called with floatingPoint == true 2. When the Copy method is called Benchmark before: BenchmarkConditionalBreakpoints-4 1 4327350142 ns/op Benchmark after: BenchmarkConditionalBreakpoints-4 1 3852642917 ns/op Updates #1549

view details

chainhelen

commit sha e28e3d30d26ab7ade78871dd7cd4a48850bc15f7

[WIP] pkg/proc: avoid target process leaks. (#2018) * pkg/proc: avoid target process leaks. Target process should exit when dlv launch failed. Fix #2017.

view details

Alessandro Arzilli

commit sha 9881edaa992e81c8a26226919247535791970ca2

vendor: remove github.com/pkg/profile dependency (#2053) It is only used in benchmarks and 'go test' now has command line options to enable profiling as appropriate (but maybe it didn't in 2014).

view details

chainhelen

commit sha 237c5026f40e38d2dd6f62a7362de7b25b00c1c7

doc/readme: Remove the Build Status of appveyor (#2055) update #1919

view details

push time in 10 days

issue closedgo-delve/delve

helpful error message when the debuggee is incompatible with the host OS/arch

This is a feature request (based on https://github.com/microsoft/vscode-go/issues/2696.

If the program to debug is not executable on the current GOHOSTOS/GOHOSTARCH so dlv cannot launch, I'd like to see more helpful message than the current message.

  1. What version of Delve are you using (dlv version)? 1.4.0

  2. What version of Go are you using? (go version)? go1.14.x

  3. What operating system and processor architecture are you using? darwin/amd64

  4. What did you do? Basically, GOOS=linux dlv debug on mac OS. Accidentally cross-compiled. :-) Similar issue when dlv exec when the target binary isn't executable.

  5. What did you expect to see? An error message indicating the target binary is not executable. For example, go run command outputs exec format error. Attempt to run such incompatible binaries directly outputs cannot execute binary file.

  6. What did you see instead? could not launch process: stub exited while waiting for connection: exit status 0 which is vague. Or, is this (incompatible or corrupted executable) the only case dlv would fail to launch the process with the error message? (If so, maybe rephrase the error message?)

closed time in 10 days

hyangah

issue commentgo-delve/delve

helpful error message when the debuggee is incompatible with the host OS/arch

Have you tried with Delve built from master? I sent in a patch to fix this issue a month ago: https://github.com/go-delve/delve/pull/1979.

Closing for now, we can reopen if this is still an issue.

hyangah

comment created time in 10 days

pull request commentgo-delve/delve

pkg/proc: Fix crash when LocationExpr is nil

I agree we should be checking if v.LocationExpr is nil, but I'm curious why the variable doesn't have a LocationExpr. It seems that only happens when v.Unreadable != nil, so I wonder if this panic is hiding an error where we couldn't parse a var.

chainhelen

comment created time in 12 days

issue commentgo-delve/delve

Internal debugger error: runtime error: invalid memory address or nil pointer dereference.

@vincentjocodes does https://github.com/go-delve/delve/pull/2050 fix your issue? Do you think you could provide a small reproducer?

vincentjocodes

comment created time in 12 days

push eventgo-delve/delve

chainhelen

commit sha 237c5026f40e38d2dd6f62a7362de7b25b00c1c7

doc/readme: Remove the Build Status of appveyor (#2055) update #1919

view details

push time in 13 days

PR merged go-delve/delve

doc/readme: Remove the Build Status of appveyor

update #1919

+0 -1

0 comment

1 changed file

chainhelen

pr closed time in 13 days

push eventgo-delve/delve

Alessandro Arzilli

commit sha 9881edaa992e81c8a26226919247535791970ca2

vendor: remove github.com/pkg/profile dependency (#2053) It is only used in benchmarks and 'go test' now has command line options to enable profiling as appropriate (but maybe it didn't in 2014).

view details

push time in 17 days

PR merged go-delve/delve

vendor: remove github.com/pkg/profile dependency
vendor: remove github.com/pkg/profile dependency

It is only used in benchmarks and 'go test' now has command line
options to enable profiling as appropriate (but maybe it didn't in
2014).

+2 -388

0 comment

14 changed files

aarzilli

pr closed time in 17 days

startedspacerace/romfont

started time in 18 days

push eventgo-delve/delve

Alessandro Arzilli

commit sha 200994bc8f6108cc441fdf110ddb44e0184c1fe0

proc/*: only load floating point registers when needed (#1981) Changes implementations of proc.Registers interface and the op.DwarfRegisters struct so that floating point registers can be loaded only when they are needed. Removes the floatingPoint parameter from proc.Thread.Registers. This accomplishes three things: 1. it simplifies the proc.Thread.Registers interface 2. it makes it impossible to accidentally create a broken set of saved registers or of op.DwarfRegisters by accidentally calling Registers(false) 3. it improves general performance of Delve by avoiding to load floating point registers as much as possible Floating point registers are loaded under two circumstances: 1. When the Slice method is called with floatingPoint == true 2. When the Copy method is called Benchmark before: BenchmarkConditionalBreakpoints-4 1 4327350142 ns/op Benchmark after: BenchmarkConditionalBreakpoints-4 1 3852642917 ns/op Updates #1549

view details

push time in 18 days

PR merged go-delve/delve

Only load floating point registers when needed
proc/*: only load floating point registers when needed

Changes implementations of proc.Registers interface and the
op.DwarfRegisters struct so that floating point registers can be loaded
only when they are needed.
Removes the floatingPoint parameter from proc.Thread.Registers.
This accomplishes three things:

1. it simplifies the proc.Thread.Registers interface
2. it makes it impossible to accidentally create a broken set of saved
registers or of op.DwarfRegisters by accidentally calling
Registers(false)
3. it improves general performance of Delve by avoiding to load
floating point registers as much as possible

Floating point registers are loaded under two circumstances:

1. When the Slice method is called with floatingPoint == true
2. When the Copy method is called

Benchmark before:

BenchmarkConditionalBreakpoints-4   	       1	4327350142 ns/op

Benchmark after:

BenchmarkConditionalBreakpoints-4   	       1	3852642917 ns/op

Updates #1549

proc: do not convert floating point registers until needed

+360 -246

3 comments

37 changed files

aarzilli

pr closed time in 18 days

Pull request review commentgo-delve/delve

Only load floating point registers when needed

 type DwarfRegisters struct { 	CFA       int64 	FrameBase int64 	ObjBase   int64-	Regs      []*DwarfRegister+	regs      []*DwarfRegister  	ByteOrder binary.ByteOrder 	PCRegNum  uint64 	SPRegNum  uint64 	BPRegNum  uint64 	LRRegNum  uint64++	FloatLoadError   error // error produced when loading floating point registers+	loadMoreCallback func() }  type DwarfRegister struct { 	Uint64Val uint64 	Bytes     []byte } +// NewDwarfRegisters returns a new DwarfRegisters object.+func NewDwarfRegisters(staticBase uint64, regs []*DwarfRegister, byteOrder binary.ByteOrder, pcRegNum, spRegNum, bpRegNum, lrRegNum uint64) *DwarfRegisters {

Ack, makes perfect sense.

aarzilli

comment created time in 18 days

pull request commentgo-delve/delve

pkg/proc: avoid target process leaks.

I don't think we should ignore the failure on freebsd. This patch touches the native backend(s), one of which is freebsd, so if that backend is failing for the test this patch introduces, seems like it might be a legit failure.

chainhelen

comment created time in 18 days

Pull request review commentgo-delve/delve

cmd/dlv: Fix trace output

 func setBreakpoint(t *Term, ctx callContext, tracepoint bool, argstr string) err  		fmt.Printf("%s set at %s\n", formatBreakpointName(bp, true), formatBreakpointLocation(bp)) 	}++	if tracepoint && shouldSetReturnBreakpoints && locs[0].Function != nil {

Loop added.

derekparker

comment created time in 19 days

Pull request review commentgo-delve/delve

cmd/dlv: Fix trace output

 func setBreakpoint(t *Term, ctx callContext, tracepoint bool, argstr string) err 			return err 		} 	}+	var shouldSetReturnBreakpoints bool 	for _, loc := range locs {+		if loc.IsFunctionEntry {+			shouldSetReturnBreakpoints = true+		} 		requestedBp.Addr = loc.PC 		requestedBp.Addrs = loc.PCs+		requestedBp.LoadArgs = &ShortLoadConfig

No longer is.

derekparker

comment created time in 19 days

Pull request review commentgo-delve/delve

cmd/dlv: Fix trace output

 type Location struct { 	Line     int       `json:"line"` 	Function *Function `json:"function,omitempty"` 	PCs      []uint64  `json:"pcs,omitempty"`+	// IsFunctionEntry is true if this location+	// represents the location of a function.+	IsFunctionEntry bool

Agreed... I've removed this field entirely and instead moved the locspec parsing into its own package and used it to parse the locspec on the terminal frontend to make this decision there directly. We could also return the parsed locspec from the backend, but then all callers and users of our client would have to be updated. This seemed cleaner, but I'm open to just returning it from the backend as well. I also think having locspec parsing be in its own package is a lot nicer, too.

derekparker

comment created time in 19 days

push eventderekparker/delve

colinnewell

commit sha 99a0468b9bec9adeff8078701fa1e78dee019cf2

cmd,Documentation: Add some simple examples for the list command to the help (#2034)

view details

chainhelen

commit sha 5b7d764b153e6fb0a7f52eee369c6c77041e3a16

gdbserial/gdbserver: optimize the search of debugserver binary (#2005) Unexport `GetDebugServerAbsolutePath` and avoid unnecessary repeated calls. Remove `os.Stat` because `Exec.LookPath` has already used `os.Stat`.And Fix some comments.

view details

Alessandro Arzilli

commit sha 0f83fa66f5ebc17be9349ac51951f78454a1269b

cmd/dlv: make core command limitations more prominent (#2031) Fixes #2026

view details

Derek Parker

commit sha 7fce094c3f2d0d2fdbc19e49ebd27297a8ffbee6

debugger: Extract locspec package

view details

Derek Parker

commit sha 8d9024d43afe815fa808b60900981e4f76aeba39

locspec: Add documentation

view details

Derek Parker

commit sha f4c2e2223220f16847aa98fc3d0370e0810a6d79

cmd/dlv: Improve dlv trace output This patch improves the `dlv trace` subcommand output by reducing the noise that is generated and providing clearer more concise information. Also adds new tests closing a gap in our testing (we previously never really tested this subcommand). Fixes #2027

view details

Derek Parker

commit sha db5f73ac59dbe544c1b0fc35aa27c431e04f2cc1

cmd/dlv: Improve dlv trace REPL command This patch fixes the `dlv trace` REPL command to behave like the subcommand in certain situations. If the tracepoint is for a function, we now show function arguements and return values properly. Also makes the overall output of the trace subcommand clearer.

view details

Derek Parker

commit sha f0fcfe1acca89c04ae0a59a5ef9d965ecc77a214

Documentation: update usage info of dlv trace

view details

Derek Parker

commit sha b251bf911767f09ad82339b8e9bc471daae6f337

Fix TestTrace output assertion

view details

Derek Parker

commit sha 1bedb5466140e6dd3f48dbc2e165250e8b12b25f

wip

view details

Derek Parker

commit sha 3eb94cfd826bc162860efd7466b98d56bdfde574

wip

view details

Derek Parker

commit sha d4c88b6dee1e8f6f5f1418822aa194d7f1de0fee

wip after export of locspec

view details

push time in 19 days

push eventgo-delve/delve

Alessandro Arzilli

commit sha a33be4466fda916604c638b1ceffd6bd10521f86

vendor: update logrus dependency (#2048) Fixes #2037

view details

push time in 20 days

issue closedgo-delve/delve

Dependencies in go.mod are out of sync

  1. What version of Delve are you using (dlv version)? 2f295f310d543f0d155ca1ea9a8a1e1288afd7b6

  2. What version of Go are you using? (go version)? go1.14.2

  3. What operating system and processor architecture are you using? windows/amd64

  4. What did you do? Run go mod tidy and go mod vendor.

  5. What did you expect to see? Nothing should be changed in go.mod or in the vendor/ directory.

  6. What did you see instead?

git diff
diff --git a/go.mod b/go.mod
index 76275bc9..811a4b9c 100644
--- a/go.mod
+++ b/go.mod
@@ -4,13 +4,14 @@ go 1.11

 require (
        github.com/cosiner/argv v0.0.0-20170225145430-13bacc38a0a5
-       github.com/cpuguy83/go-md2man v1.0.10 // indirect
        github.com/creack/pty v1.1.9
        github.com/google/go-dap v0.2.0
        github.com/hashicorp/golang-lru v0.5.4
        github.com/inconshreveable/mousetrap v1.0.0 // indirect
        github.com/mattn/go-colorable v0.0.0-20170327083344-ded68f7a9561
        github.com/mattn/go-isatty v0.0.3
+       github.com/onsi/ginkgo v1.12.0 // indirect
+       github.com/onsi/gomega v1.9.0 // indirect
        github.com/peterh/liner v0.0.0-20170317030525-88609521dc4b
        github.com/pkg/profile v0.0.0-20170413231811-06b906832ed0
        github.com/sirupsen/logrus v0.0.0-20180523074243-ea8897e79973
@@ -19,7 +20,9 @@ require (
        github.com/stretchr/testify v1.3.0 // indirect
        go.starlark.net v0.0.0-20190702223751-32f345186213
        golang.org/x/arch v0.0.0-20190927153633-4e8777c89be4
-       golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb
+       golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e
        golang.org/x/tools v0.0.0-20191127201027-ecd32218bd7f
-       gopkg.in/yaml.v2 v2.2.1
+       gopkg.in/airbrake/gobrake.v2 v2.0.9 // indirect
+       gopkg.in/gemnasium/logrus-airbrake-hook.v2 v2.1.2 // indirect
+       gopkg.in/yaml.v2 v2.2.4
 )

Shall I send a PR to rectify this?

closed time in 20 days

dlsniper

PR merged go-delve/delve

vendor: update logrus dependency
vendor: update logrus dependency

Fixes #2037

+1232 -1842

0 comment

47 changed files

aarzilli

pr closed time in 20 days

Pull request review commentgo-delve/delve

proc: better support for C pointers

 func readStringValue(mem MemoryReadWriter, addr uintptr, strlen int64, cfg LoadC 		return "", fmt.Errorf("could not read string at %#v due to %s", addr, err) 	} -	retstr := *(*string)(unsafe.Pointer(&val))+	//retstr := *(*string)(unsafe.Pointer(&val))

Dangling comment?

aarzilli

comment created time in 20 days

Pull request review commentgo-delve/delve

proc: better support for C pointers

 func readStringValue(mem MemoryReadWriter, addr uintptr, strlen int64, cfg LoadC 		return "", fmt.Errorf("could not read string at %#v due to %s", addr, err) 	} -	retstr := *(*string)(unsafe.Pointer(&val))+	//retstr := *(*string)(unsafe.Pointer(&val)) -	return retstr, nil+	return string(val), nil+}++func readCStringValue(mem MemoryReadWriter, addr uintptr, cfg LoadConfig) (string, bool, error) {+	done := false+	buf := make([]byte, 1)

Reading a single byte at a time until we hit a nul terminator is going to cause a lot of syscall context switching. Might be a premature optimization, but would be preferable to read into a larger buffer and search for the index of the nul terminator instead of going byte by byte.

aarzilli

comment created time in 20 days

Pull request review commentgo-delve/delve

Only load floating point registers when needed

 func (regs *DwarfRegisters) BP() uint64 {  // AddReg adds register idx to regs. func (regs *DwarfRegisters) AddReg(idx uint64, reg *DwarfRegister) {-	if idx >= uint64(len(regs.Regs)) {+	if idx >= uint64(len(regs.regs)) { 		newRegs := make([]*DwarfRegister, idx+1)-		copy(newRegs, regs.Regs)-		regs.Regs = newRegs+		copy(newRegs, regs.regs)+		regs.regs = newRegs+	}+	regs.regs[idx] = reg+}++// ClearRegisters clears all registers except for PC, SP and BP+func (regs *DwarfRegisters) ClearRegisters() {

I think the name should reflect that this is selective in which registers it clears (e.g. ClearGeneralPurposeRegisters or something). Also, why be selective?

aarzilli

comment created time in 20 days

Pull request review commentgo-delve/delve

Only load floating point registers when needed

 func (regs *DwarfRegisters) Bytes(idx uint64) []byte {  // Reg returns register idx or nil if the register is not defined. func (regs *DwarfRegisters) Reg(idx uint64) *DwarfRegister {-	if idx >= uint64(len(regs.Regs)) {-		return nil+	if idx >= uint64(len(regs.regs)) {+		if regs.loadMoreCallback != nil {+			regs.loadMoreCallback()

I think we should put this into a regs.loadMore method which can wrap the logic of checking if the callback is not nil and then setting it to nil once it's been called.

aarzilli

comment created time in 20 days

Pull request review commentgo-delve/delve

Only load floating point registers when needed

 func (regs *DwarfRegisters) Bytes(idx uint64) []byte {  // Reg returns register idx or nil if the register is not defined. func (regs *DwarfRegisters) Reg(idx uint64) *DwarfRegister {-	if idx >= uint64(len(regs.Regs)) {-		return nil+	if idx >= uint64(len(regs.regs)) {+		if regs.loadMoreCallback != nil {

nit: I think this would read better as:

if regs.loadMoreCallback == nil {
        return nil
}
regs.loadMoreCallback()
regs.loadMoreCallback = nil
if idx >= uint64(len(regs.regs)) {
	return nil
}
aarzilli

comment created time in 20 days

Pull request review commentgo-delve/delve

Only load floating point registers when needed

 type DwarfRegisters struct { 	CFA       int64 	FrameBase int64 	ObjBase   int64-	Regs      []*DwarfRegister+	regs      []*DwarfRegister  	ByteOrder binary.ByteOrder 	PCRegNum  uint64 	SPRegNum  uint64 	BPRegNum  uint64 	LRRegNum  uint64++	FloatLoadError   error // error produced when loading floating point registers+	loadMoreCallback func() }  type DwarfRegister struct { 	Uint64Val uint64 	Bytes     []byte } +// NewDwarfRegisters returns a new DwarfRegisters object.+func NewDwarfRegisters(staticBase uint64, regs []*DwarfRegister, byteOrder binary.ByteOrder, pcRegNum, spRegNum, bpRegNum, lrRegNum uint64) *DwarfRegisters {

This is just a thin wrapper around initializing the struct. All function args become struct members with no processing done by the function. Maybe we just let the callers initialize the struct themselves?

aarzilli

comment created time in 20 days

Pull request review commentgo-delve/delve

pkg/proc: avoid target process leaks.

 func Launch(cmd []string, wd string, foreground bool, debugInfoDirs []string, tt 	dbp.childProcess = true 	_, _, err = dbp.wait(process.Process.Pid, 0) 	if err != nil {+		_ = dbp.Detach(true)

This (and all other such occurrences) seem like they would be perfectly suited for a defer call. I'd rather something like this:

defer func() { 
        if err != nil {
                dbp.Detach(true)
        }
}()
chainhelen

comment created time in 20 days

push eventgo-delve/delve

polinasok

commit sha f92afb9c17c49b0b585af4d95d84bcfc1fceef14

service/dap: Adds launch request support for program args (#2040) * Adds launch request support for program args * Combine types of function parameters Co-authored-by: Polina Sokolova <polinasok@users.noreply.github.com>

view details

push time in 20 days

PR merged go-delve/delve

Adds launch request support for program args

Updates #1515

+47 -5

0 comment

2 changed files

polinasok

pr closed time in 20 days

push eventgo-delve/delve

Anders Kaare

commit sha 71a460fc0fe578cc81dab152e3dd2515a9304da1

config: add option for printfile() line count (#2043) The option is "source-list-line-count". It defaults to 5, which was previously hardcoded in printfile(), but now you can change it dynamically, for instance: $ config source-list-line-count 20 $ list

view details

push time in 20 days

PR merged go-delve/delve

Config option for printfile() line count

printfile() is called from a bunch of places, like when reaching a breakpoint, or running the list command. It's hard coded to print 5 lines before and after the cursor, but I often feel it's convenient to see a bigger window, so I added the source-list-line-count config option for this purpose. For instance:

 (dlv) config source-list-line-count 20
 (dlv) list

Now it will print 20 lines before and after the cursor instead. 0 (zero) also works, in which case it only prints the line under the cursor.

Thanks to the developers; it was really easy to implement this change :-)

+22 -3

0 comment

2 changed files

sqaxomonophonen

pr closed time in 20 days

PR closed go-delve/delve

*: Remove dependency on logrus
*: Remove dependency on logrus

We use logrus as a thin layer around fmt.Fprintf, however it introduces
a large number of dependencies, including:

* two different testing frameworks (testify, ginkgo)
* bindings to the application monitoring service "airbrake"
* an implementation of the ssh protocol
* the entirety of golang.org/x/crypto

This commit replace logrus with a copy of the 50 lines of logrus we
actually use.

Fixes #2037

+114 -3688

4 comments

43 changed files

aarzilli

pr closed time in 20 days

pull request commentgo-delve/delve

*: Remove dependency on logrus

Closing for now in favor of #2048. We may still want to revisit possibly taking logrus out and replacing with a smaller version we roll ourselves (like this PR), but I think just getting rid of the dependencies we don't actually need is fine for now.

aarzilli

comment created time in 20 days

push eventgo-delve/delve

Alessandro Arzilli

commit sha f559c3c421dcb0777896114673f2f270a2895290

gobuild: pass-through stdout to 'go' command invocation (#2044) When trying to compile tests in a package that does not contain tests 'go' emits an error message on stdout instead of stderr. Let the 'go' command write to stdout too. Fixes #2042

view details

push time in 20 days

issue closedgo-delve/delve

Misleading error message when trying to debug non-existent tests

Please answer the following before submitting your issue:

Note: Please include any substantial examples (debug session output, stacktraces, etc) as linked gists.

  1. What version of Delve are you using (dlv version)?
Delve Debugger
Version: 1.4.0
Build: 0f83fa66f5ebc17be9349ac51951f78454a1269b

Pulled latest master from github and installed

  1. What version of Go are you using? (go version)?
go version go1.14 darwin/amd64
  1. What operating system and processor architecture are you using?

macOS 10.15.4 (latest), Intel x86_64

  1. What did you do?
dlv test .
  1. What did you expect to see?

The interactive debugger shell

  1. What did you see instead?
2020-05-07T12:28:06+03:00 info layer=debugger launching process with args: [/path/to/repo/debug.test]
could not launch process: open /path/to/repo/debug.test: no such file or directory
could not remove /path/to/repo/debug.test: remove /path/to/repo/debug.test: no such file or directory

FYI, this does not appear to be the code signer issue from earlier. I ran make install, and then manually code-signed again. More importantly, I can run dlv debug . without an issue, but not dlv test .

I did hunt through the issues to find the many code-signing or VSCode issues, but this does not (appear to be) one of them.

closed time in 20 days

deitch

PR merged go-delve/delve

gobuild: pass-through stdout to 'go' command invocation
gobuild: pass-through stdout to 'go' command invocation

When trying to compile tests in a package that does not contain tests
'go' emits an error message on stdout instead of stderr. Let the 'go'
command write to stdout too.

Fixes #2042

+1 -0

0 comment

1 changed file

aarzilli

pr closed time in 20 days

push eventderekparker/delve

colinnewell

commit sha 99a0468b9bec9adeff8078701fa1e78dee019cf2

cmd,Documentation: Add some simple examples for the list command to the help (#2034)

view details

chainhelen

commit sha 5b7d764b153e6fb0a7f52eee369c6c77041e3a16

gdbserial/gdbserver: optimize the search of debugserver binary (#2005) Unexport `GetDebugServerAbsolutePath` and avoid unnecessary repeated calls. Remove `os.Stat` because `Exec.LookPath` has already used `os.Stat`.And Fix some comments.

view details

Alessandro Arzilli

commit sha 0f83fa66f5ebc17be9349ac51951f78454a1269b

cmd/dlv: make core command limitations more prominent (#2031) Fixes #2026

view details

push time in 23 days

pull request commentgo-delve/delve

cmd/dlv: Fix trace output

@aarzilli PTAL -- going to ignore the deepsource errors for now. This patch doesn't touch all that code and it can be done in a different PR.

derekparker

comment created time in a month

push eventderekparker/delve

Derek Parker

commit sha 0c1efe9ac5130763fca9dc435df61f56c1c27ab7

Fix TestTrace output assertion

view details

push time in a month

push eventderekparker/delve

Derek Parker

commit sha 90dea0d034e1adf68aafd7453b6e7ea9f6b6681a

use --output flag in dlv tests

view details

push time in a month

push eventderekparker/delve

Derek Parker

commit sha cef065828f7fbdef2dbac7aa8a2ec245c2e996a8

use --output flag in dlv tests

view details

push time in a month

PR opened go-delve/delve

cmd/dlv: Fix trace output

This patch improves the dlv trace subcommand output by reducing the noise that is generated and providing clearer more concise information.

Also adds new tests closing a gap in our testing (we previously never really tested this subcommand).

This patch also fixes the dlv trace REPL command to behave like the subcommand in certain situations. If the tracepoint is for a function, we now show function arguements and return values properly.

Also makes the overall output of the trace subcommand clearer.

+240 -36

0 comment

8 changed files

pr created time in a month

push eventderekparker/delve

Min Zhou

commit sha 3e04ad0fada0c3ab57caf58bc024e4c0f9a3e01a

proc: Find executable should follow symbol links. On linux platform, we simply treated `/proc/$pid/exe` as the executable of targeting process when doing `dlv attach`. The `/proc/$pid/exe` is a symbol link of the real executable file. Delve couldn't find the corrsponding external debug file based on the symbol link: ``` could not attach to pid $pid: could not open debug info ``` The fix is to evaluate the symbol links to the actual executable path.

view details

aarzilli

commit sha 6102c31d6d47a9485db150e83bd78d33465887b5

terminal: clarify Ctrl-C options with multiclient servers Fixes #2028

view details

aarzilli

commit sha bb2525a7d59be85bd5e275c1b91a2732db626dd5

proc: keep debugger state consistent if callInjectionProtocol fails pickCurrentThread should always run.

view details

aarzilli

commit sha cf37512aed935c6ce497ca14440d5c80231f0e8a

proc: move g.stackhi/g.stacklo to a struct Mirroring the way this is implemented in the Go runtime and introducing a type that will be useful to support the call injection changes in Go 1.15

view details

aarzilli

commit sha c078223d56d450f4563abe697765b29c37d22d50

proc: use cached packageVars in proc.(*EvalScope).PackageVariables

view details

aarzilli

commit sha 96890bbe1e339267daef61b46c97f1e1c6bfb374

dwarf/op: return register values when they are the only piece When there is a single piece and it's a register value just return it. This is important for clang compiled programs which will use DW_OP_regN to specify the value of the frame base.

view details

aarzilli

commit sha 8f5df19948f801fdc4404f2e2c0d8e57db521fe6

proc: fix findCompileUnitForOffset when plugins are used Splits the compileUnits slice between images so that we can search for an offset inside the debug info of a specific image file.

view details

polinasok

commit sha 2f295f310d543f0d155ca1ea9a8a1e1288afd7b6

service/dap: Add error handlers for unsupported and not-yet-supported requests (#1918) * Add no-op handlers for unsupported requests * Fix whitespace * Add couple of missing unsupported requests * More comments * Separate errors for unsupported and not-yet-implemented requests. * Fix go.mod/sum dependencies Co-authored-by: Polina Sokolova <polinasok@users.noreply.github.com>

view details

Derek Parker

commit sha fe7352e1847f950988d4808b8ad112af6dd1eafc

cmd/dlv: Improve dlv trace output This patch improves the `dlv trace` subcommand output by reducing the noise that is generated and providing clearer more concise information. Also adds new tests closing a gap in our testing (we previously never really tested this subcommand). Fixes #2027

view details

Derek Parker

commit sha 1bb208ec167d4904f727d62a780ab0500a75aaf9

cmd/dlv: Improve dlv trace REPL command This patch fixes the `dlv trace` REPL command to behave like the subcommand in certain situations. If the tracepoint is for a function, we now show function arguements and return values properly. Also makes the overall output of the trace subcommand clearer.

view details

Derek Parker

commit sha 420a88bc3da4df20baf04a1955653c4e6fcd4944

Documentation: update usage info of dlv trace

view details

push time in a month

pull request commentgo-delve/delve

pkg/proc: Use consistent naming for Target receiver

Closing this for now.

derekparker

comment created time in a month

push eventgo-delve/delve

Alessandro Arzilli

commit sha 0f83fa66f5ebc17be9349ac51951f78454a1269b

cmd/dlv: make core command limitations more prominent (#2031) Fixes #2026

view details

push time in a month

PR merged go-delve/delve

cmd/dlv: make core command limitations more prominent
cmd/dlv: make core command limitations more prominent

Fixes #2026

+6925 -5

1 comment

27 changed files

aarzilli

pr closed time in a month

push eventgo-delve/delve

chainhelen

commit sha 5b7d764b153e6fb0a7f52eee369c6c77041e3a16

gdbserial/gdbserver: optimize the search of debugserver binary (#2005) Unexport `GetDebugServerAbsolutePath` and avoid unnecessary repeated calls. Remove `os.Stat` because `Exec.LookPath` has already used `os.Stat`.And Fix some comments.

view details

push time in a month

PR merged go-delve/delve

gdbserial/gdbserver: optimize the search of debugserver binary

Unexport GetDebugServerAbsolutePath and avoid unnecessary repeated calls. Remove os.Stat because Exec.LookPath has already used os.Stat.And Fix some comments.

+39 -37

5 comments

1 changed file

chainhelen

pr closed time in a month

PR merged go-delve/delve

Add some simple examples for the list command

These are just some simple examples of how the list command can be used. I'm not sure how you'd prefer to document these things, so I figured it would be worth throwing something together to at least start a discussion about what you'd prefer.

I was looking at the documentation struggling to remember how to use the list command and some concrete examples would be useful for me. I essentially grabbed these from your tests.

+15 -1

2 comments

2 changed files

colinnewell

pr closed time in a month

push eventgo-delve/delve

colinnewell

commit sha 99a0468b9bec9adeff8078701fa1e78dee019cf2

cmd,Documentation: Add some simple examples for the list command to the help (#2034)

view details

push time in a month

issue commentgo-delve/delve

rewind and checkpoint commands not available

Unfortunately this command is only available on linux/amd64.

uri

comment created time in a month

push eventderekparker/delve

Min Zhou

commit sha 3e04ad0fada0c3ab57caf58bc024e4c0f9a3e01a

proc: Find executable should follow symbol links. On linux platform, we simply treated `/proc/$pid/exe` as the executable of targeting process when doing `dlv attach`. The `/proc/$pid/exe` is a symbol link of the real executable file. Delve couldn't find the corrsponding external debug file based on the symbol link: ``` could not attach to pid $pid: could not open debug info ``` The fix is to evaluate the symbol links to the actual executable path.

view details

aarzilli

commit sha 6102c31d6d47a9485db150e83bd78d33465887b5

terminal: clarify Ctrl-C options with multiclient servers Fixes #2028

view details

aarzilli

commit sha bb2525a7d59be85bd5e275c1b91a2732db626dd5

proc: keep debugger state consistent if callInjectionProtocol fails pickCurrentThread should always run.

view details

aarzilli

commit sha cf37512aed935c6ce497ca14440d5c80231f0e8a

proc: move g.stackhi/g.stacklo to a struct Mirroring the way this is implemented in the Go runtime and introducing a type that will be useful to support the call injection changes in Go 1.15

view details

aarzilli

commit sha c078223d56d450f4563abe697765b29c37d22d50

proc: use cached packageVars in proc.(*EvalScope).PackageVariables

view details

aarzilli

commit sha 96890bbe1e339267daef61b46c97f1e1c6bfb374

dwarf/op: return register values when they are the only piece When there is a single piece and it's a register value just return it. This is important for clang compiled programs which will use DW_OP_regN to specify the value of the frame base.

view details

aarzilli

commit sha 8f5df19948f801fdc4404f2e2c0d8e57db521fe6

proc: fix findCompileUnitForOffset when plugins are used Splits the compileUnits slice between images so that we can search for an offset inside the debug info of a specific image file.

view details

polinasok

commit sha 2f295f310d543f0d155ca1ea9a8a1e1288afd7b6

service/dap: Add error handlers for unsupported and not-yet-supported requests (#1918) * Add no-op handlers for unsupported requests * Fix whitespace * Add couple of missing unsupported requests * More comments * Separate errors for unsupported and not-yet-implemented requests. * Fix go.mod/sum dependencies Co-authored-by: Polina Sokolova <polinasok@users.noreply.github.com>

view details

push time in a month

PR closed go-delve/delve

Got basic backtracing working on ARM64 running Linux.

Got an improved version of backtracing going for the ARM64 version of GO running under Linux. It now handles exception records for GO versions 1.12, 1.13, and 1.14 (and probably also works for earlier version), and is less dependent upon the GO runtime code.

Also fixed a bug that would cause bactraces to fail around 12% of the time.

Fixed a bug that caused most arguments to GO routines to be printed out incorrectly.

+101 -3

1 comment

3 changed files

MichaelPenk

pr closed time in a month

pull request commentgo-delve/delve

Got basic backtracing working on ARM64 running Linux.

Closing due to lack of updates.

MichaelPenk

comment created time in a month

push eventgo-delve/delve

polinasok

commit sha 2f295f310d543f0d155ca1ea9a8a1e1288afd7b6

service/dap: Add error handlers for unsupported and not-yet-supported requests (#1918) * Add no-op handlers for unsupported requests * Fix whitespace * Add couple of missing unsupported requests * More comments * Separate errors for unsupported and not-yet-implemented requests. * Fix go.mod/sum dependencies Co-authored-by: Polina Sokolova <polinasok@users.noreply.github.com>

view details

push time in a month

PR merged go-delve/delve

service/dap: Add error handlers for unsupported and not-yet-supported requests

Reflect which requests are required and which ones are optional and controlled by flags (aka capabilities) that can be set in the initialize response to the client. For the optional ones that make sense in the context of Go/delve as well as the missing required handlers, provide stubs that currently just return the not-yet-implemented error response. This is different from vscode-go, which falls back on no-op implementation for all unsupported messages defined in the base classes for debug adaptors (see https://github.com/microsoft/vscode-debugadapter-node/blob/master/adapter/src/debugSession.ts).

Updates #1515

+660 -29

4 comments

4 changed files

polinasok

pr closed time in a month

pull request commentgo-delve/delve

service/dap: Add error handlers for unsupported and not-yet-supported requests

What do you mean by rebase? There should be no merge conflicts with master - I am already up to date with it. Do you want me to squash all the commits, so you can just merge instead of squash and merge?

My fault, you're right! The GitHub UI made it look like there were actual conflicts to resolve, but squashing will solve it.

polinasok

comment created time in a month

push eventgo-delve/delve

aarzilli

commit sha 8f5df19948f801fdc4404f2e2c0d8e57db521fe6

proc: fix findCompileUnitForOffset when plugins are used Splits the compileUnits slice between images so that we can search for an offset inside the debug info of a specific image file.

view details

push time in a month

PR merged go-delve/delve

proc: fix findCompileUnitForOffset when plugins are used
proc: fix findCompileUnitForOffset when plugins are used

Splits the compileUnits slice between images so that we can search for
an offset inside the debug info of a specific image file.

+32 -25

1 comment

2 changed files

aarzilli

pr closed time in a month

push eventgo-delve/delve

aarzilli

commit sha 96890bbe1e339267daef61b46c97f1e1c6bfb374

dwarf/op: return register values when they are the only piece When there is a single piece and it's a register value just return it. This is important for clang compiled programs which will use DW_OP_regN to specify the value of the frame base.

view details

push time in a month

PR merged go-delve/delve

dwarf/op: return register values when they are the only piece
dwarf/op: return register values when they are the only piece

When there is a single piece and it's a register value just return it.
This is important for clang compiled programs which will use DW_OP_regN
to specify the value of the frame base.

+8 -1

1 comment

1 changed file

aarzilli

pr closed time in a month

push eventgo-delve/delve

aarzilli

commit sha c078223d56d450f4563abe697765b29c37d22d50

proc: use cached packageVars in proc.(*EvalScope).PackageVariables

view details

push time in a month

PR merged go-delve/delve

proc: use cached packageVars in proc.(*EvalScope).PackageVariables
proc: use cached packageVars map in PackageVariables

+34 -26

1 comment

2 changed files

aarzilli

pr closed time in a month

pull request commentgo-delve/delve

Add some simple examples for the list command

I think it's a good idea to add some more examples. However this new documentation should be added in pkg/terminal/command.go in the description for the list command. Documentation will then need to be regenerated via go run _scripts/gen-cli-docs.go.

colinnewell

comment created time in a month

push eventgo-delve/delve

aarzilli

commit sha cf37512aed935c6ce497ca14440d5c80231f0e8a

proc: move g.stackhi/g.stacklo to a struct Mirroring the way this is implemented in the Go runtime and introducing a type that will be useful to support the call injection changes in Go 1.15

view details

push time in a month

PR merged go-delve/delve

proc: move g.stackhi/g.stacklo to a struct
proc: move g.stackhi/g.stacklo to a struct

Mirroring the way this is implemented in the Go runtime and introducing
a type that will be useful to support the call injection changes in Go
1.15

+20 -17

0 comment

4 changed files

aarzilli

pr closed time in a month

Pull request review commentgo-delve/delve

gdbserial/gdbserver: optimize the search of debugserver binary

 func LLDBLaunch(cmd []string, wd string, foreground bool, debugInfoDirs []string 	var listener net.Listener 	var port string 	var process *exec.Cmd-	if _, err := os.Stat(GetDebugServerAbsolutePath()); err == nil {-		listener, err = net.Listen("tcp", "127.0.0.1:0")+	if debugserverExecutable := getDebugServerAbsolutePath(); debugserverExecutable != "" {+		listener, err := net.Listen("tcp", "127.0.0.1:0")

This is the cause of the breakage. This variable shadows the listener variable above, causing it to never be set, thus we end up with a zero-value listener even though we were able to find the debug server executable.

chainhelen

comment created time in a month

PR closed go-delve/delve

Added documentation of how to debug a program that reads from stdin.

Fixes bug #1982.

+17 -0

2 comments

1 changed file

ianbruene

pr closed time in a month

pull request commentgo-delve/delve

Added documentation of how to debug a program that reads from stdin.

Closing due to inactivity. This documentation has already been added already via the --tty pull request.

ianbruene

comment created time in a month

push eventgo-delve/delve

aarzilli

commit sha bb2525a7d59be85bd5e275c1b91a2732db626dd5

proc: keep debugger state consistent if callInjectionProtocol fails pickCurrentThread should always run.

view details

push time in a month

PR merged go-delve/delve

proc: keep debugger state consistent if callInjectionProtocol fails
proc: keep debugger state consistent if callInjectionProtocol fails

pickCurrentThread should always run.

+8 -4

0 comment

1 changed file

aarzilli

pr closed time in a month

Pull request review commentgo-delve/delve

cmd/dlv: make core command limitations more prominent

+package main++// List packages used by _scirpts

s/_scirpts/scripts/

And is this because it's ignored now that it's been moved to _scripts and the underscore is blocking the Go tool from finding the deps?

aarzilli

comment created time in a month

pull request commentgo-delve/delve

service/dap: Add error handlers for unsupported and not-yet-supported requests

LGTM - please just rebase and we can merge!

polinasok

comment created time in a month

push eventderekparker/delve

Derek Parker

commit sha f53515b1fd48e2502452470d43dee4ebc8001072

Documentation: update usage info of dlv trace

view details

push time in a month

push eventderekparker/delve

Derek Parker

commit sha e86356c2fae66a2f0e6f6352e5303a5b76161bcc

cmd/dlv: Improve dlv trace output This patch improves the `dlv trace` subcommand output by reducing the noise that is generated and providing clearer more concise information. Also adds new tests closing a gap in our testing (we previously never really tested this subcommand). Fixes #2027

view details

Derek Parker

commit sha b671088692cf5a0d2f888f418c17aee4b7053682

cmd/dlv: Improve dlv trace REPL command This patch fixes the `dlv trace` REPL command to behave like the subcommand in certain situations. If the tracepoint is for a function, we now show function arguements and return values properly. Also makes the overall output of the trace subcommand clearer.

view details

push time in a month

push eventderekparker/delve

Derek Parker

commit sha b084405555db60c43dd2a0ea08c9248d31134c3b

cmd/dlv: Improve dlv trace output This patch improves the `dlv trace` subcommand output by reducing the noise that is generated and providing clearer more concise information. Also adds new tests closing a gap in our testing (we previously never really tested this subcommand). Fixes #2027

view details

Derek Parker

commit sha 5c2c0f132d348087e97b6fde1fc500ec144f808d

cmd/dlv: Improve dlv trace REPL command This patch fixes the `dlv trace` REPL command to behave like the subcommand in certain situations. If the tracepoint is for a function, we now show function arguements and return values properly. Also makes the overall output of the trace subcommand clearer.

view details

push time in a month

push eventderekparker/delve

Derek Parker

commit sha 9bdac485c8667bbd289fa157770304424ea4ae40

cmd/dlv: Improve dlv trace output This patch improves the `dlv trace` subcommand output by reducing the noise that is generated and providing clearer more concise information. Also adds new tests closing a gap in our testing (we previously never really tested this subcommand). Fixes #2027

view details

Derek Parker

commit sha 260089b0871b0c4e717567645a5edd5b167ea77a

cmd/dlv: Improve dlv trace REPL command This patch fixes the `dlv trace` REPL command to behave like the subcommand in certain situations. If the tracepoint is for a function, we now show function arguements and return values properly. Also makes the overall output of the trace subcommand clearer.

view details

push time in a month

push eventderekparker/delve

Derek Parker

commit sha ce1774b221ba4526bad845b91634eef1bf497397

cmd/dlv: Improve dlv trace REPL command This patch fixes the `dlv trace` REPL command to behave like the subcommand in certain situations. If the tracepoint is for a function, we now show function arguements and return values properly. Also makes the overall output of the trace subcommand clearer.

view details

push time in a month

push eventderekparker/delve

Derek Parker

commit sha 8aec42e1aafbabe54e82476a15b4f49f3e6b9263

cmd/dlv: Improve dlv trace REPL command This patch fixes the `dlv trace` REPL command to behave like the subcommand in certain situations. If the tracepoint is for a function, we now show function arguements and return values properly. Also makes the overall output of the trace subcommand clearer.

view details

push time in a month

create barnchderekparker/delve

branch : fix-trace-subcmd

created branch time in a month

push eventgo-delve/delve

aarzilli

commit sha 6102c31d6d47a9485db150e83bd78d33465887b5

terminal: clarify Ctrl-C options with multiclient servers Fixes #2028

view details

push time in a month

issue closedgo-delve/delve

Halt with ctrl-C

I would like a way to halt delve after continuing. As far as I can tell, once I continue, my only options are wait for the program to exit, wait for a breakpoint, or kill the process.

When connected to a multiclient session, if I ctrl-C, I get the following prompt:

Would you like to [s]top the target or [q]uit this client, leaving the target running [s/q]?

I would like this to be extended to:

Would you like to [h]alt the target, [s]top the target, or [q]uit this client, leaving the target running [h/s/q]?

closed time in a month

firelizzard18

PR merged go-delve/delve

terminal: clarify Ctrl-C options with multiclient servers
terminal: clarify Ctrl-C options with multiclient servers

Fixes #2028

+2 -2

0 comment

1 changed file

aarzilli

pr closed time in a month

push eventgo-delve/delve

Min Zhou

commit sha 3e04ad0fada0c3ab57caf58bc024e4c0f9a3e01a

proc: Find executable should follow symbol links. On linux platform, we simply treated `/proc/$pid/exe` as the executable of targeting process when doing `dlv attach`. The `/proc/$pid/exe` is a symbol link of the real executable file. Delve couldn't find the corrsponding external debug file based on the symbol link: ``` could not attach to pid $pid: could not open debug info ``` The fix is to evaluate the symbol links to the actual executable path.

view details

push time in a month

PR merged go-delve/delve

proc: Find executable should follow symbol links.

https://github.com/go-delve/delve/issues/2024

On linux platform, we simply treated /proc/$pid/exe as the executable of targeting process when doing dlv attach. The /proc/$pid/exe is a symbol link of the real executable file. Delve couldn't find the corrsponding external debug file based on the symbol link:

could not attach to pid $pid: could not open debug info

The fix is to evaluate the symbol links to the actual executable path.

+9 -6

1 comment

1 changed file

coderplay

pr closed time in a month

more