github.com/undoio/delve@v1.9.0/pkg/proc/debuginfod/debuginfod.go (about) 1 package debuginfod 2 3 import ( 4 "os/exec" 5 "strings" 6 ) 7 8 const debuginfodFind = "debuginfod-find" 9 10 func execFind(args ...string) (string, error) { 11 if _, err := exec.LookPath(debuginfodFind); err != nil { 12 return "", err 13 } 14 cmd := exec.Command(debuginfodFind, args...) 15 out, err := cmd.CombinedOutput() 16 if err != nil { 17 return "", err 18 } 19 return strings.TrimSpace(string(out)), err 20 } 21 22 func GetSource(buildid, filename string) (string, error) { 23 return execFind("source", buildid, filename) 24 } 25 26 func GetDebuginfo(buildid string) (string, error) { 27 return execFind("debuginfo", buildid) 28 }