resolver.go 431 B

123456789101112131415161718192021
  1. package goblin
  2. import (
  3. "runtime/debug"
  4. "strings"
  5. )
  6. func ResolveStack(skip int) []string {
  7. return cleanStack(debug.Stack(), skip)
  8. }
  9. func cleanStack(stack []byte, skip int) []string {
  10. arrayStack := strings.Split(string(stack), "\n")
  11. var finalStack []string
  12. for i := skip; i < len(arrayStack); i++ {
  13. if strings.Contains(arrayStack[i], ".go") {
  14. finalStack = append(finalStack, arrayStack[i])
  15. }
  16. }
  17. return finalStack
  18. }