go-delve/delve · error
could not read dynamic symbols: %v
Error message
could not read dynamic symbols: %v
What it means
Error "could not read dynamic symbols: %v" thrown in go-delve/delve.
Source
Thrown at pkg/proc/linutil/dynamic.go:209
}
interpPath := string(bytes.TrimRight(interpData, "\x00"))
interpFile, err := elf.Open(interpPath)
if err != nil {
realPath, rerr := os.Readlink(interpPath)
if rerr != nil {
return 0, fmt.Errorf("could not open interpreter %s: %v", interpPath, err)
}
interpFile, err = elf.Open(realPath)
if err != nil {
return 0, fmt.Errorf("could not open interpreter %s: %v", realPath, err)
}
}
defer interpFile.Close()
dynsyms, err := interpFile.DynamicSymbols()
if err != nil {
return 0, fmt.Errorf("could not read dynamic symbols: %v", err)
}
for _, sym := range dynsyms {
if sym.Name == "_dl_debug_state" {
return auxvBase + sym.Value, nil
}
}
return 0, nil
}
// ElfUpdateSharedObjects reads the list of dynamic libraries loaded by the
// dynamic linker from the .dynamic section and uses it to update p.BinInfo().
// See the SysV ABI for a description of how the .dynamic section works:
// https://www.sco.com/developers/gabi/latest/contents.html
func ElfUpdateSharedObjects(p proc.Process) error {
bi := p.BinInfo()
if bi.ElfDynamicSection.Addr == 0 {
// no dynamic section, therefore nothing to do hereView on GitHub (pinned to a23773e6c3)
When it happens
Trigger: Thrown at pkg/proc/linutil/dynamic.go:209 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of go-delve/delve@a23773e6c3 (2026-08-31).
Data as JSON: /api/errors/9f9e790eb5362877.
Report an issue: GitHub.