| 1234567891011121314151617181920212223 |
- package missinggo
- import (
- "fmt"
- "io"
- "runtime"
- )
- func WriteStack(w io.Writer, stack []uintptr) {
- for _, pc := range stack {
- if pc == 0 {
- break
- }
- pc--
- f := runtime.FuncForPC(pc)
- if f.Name() == "runtime.goexit" {
- continue
- }
- file, line := f.FileLine(pc)
- fmt.Fprintf(w, "# %s:\t%s:%d\n", f.Name(), file, line)
- }
- fmt.Fprintf(w, "\n")
- }
|