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  }