github.com/zeebo/goof@v0.0.0-20190312211016-1ee209ef0510/process_go17_other.go (about)

     1  // +build !go1.8,!darwin
     2  
     3  package goof
     4  
     5  import (
     6  	"debug/dwarf"
     7  	"debug/elf"
     8  
     9  	"github.com/zeebo/errs"
    10  )
    11  
    12  func openProc() (*dwarf.Data, error) {
    13  	fh, err := elf.Open("/proc/self/exe")
    14  	if err != nil {
    15  		return nil, errs.Wrap(err)
    16  	}
    17  	defer fh.Close()
    18  
    19  	data, err := fh.DWARF()
    20  	return data, errs.Wrap(err)
    21  }