33 lines
419 B
Go
33 lines
419 B
Go
![]() |
package frame
|
||
|
|
||
|
import (
|
||
|
"debug/elf"
|
||
|
"os"
|
||
|
"path/filepath"
|
||
|
"testing"
|
||
|
)
|
||
|
|
||
|
func grabDebugFrameSection(fp string, t *testing.T) []byte {
|
||
|
p, err := filepath.Abs(fp)
|
||
|
if err != nil {
|
||
|
t.Fatal(err)
|
||
|
}
|
||
|
|
||
|
f, err := os.Open(p)
|
||
|
if err != nil {
|
||
|
t.Fatal(err)
|
||
|
}
|
||
|
|
||
|
ef, err := elf.NewFile(f)
|
||
|
if err != nil {
|
||
|
t.Fatal(err)
|
||
|
}
|
||
|
|
||
|
data, err := ef.Section(".debug_frame").Data()
|
||
|
if err != nil {
|
||
|
t.Fatal(err)
|
||
|
}
|
||
|
|
||
|
return data
|
||
|
}
|