q/src/errors/stack.go
Eduard Urbach b7fdd56a8b
All checks were successful
/ test (push) Successful in 13s
Added errors package
2025-06-19 17:04:32 +02:00

30 lines
No EOL
506 B
Go

package errors
import (
"runtime"
"strings"
)
// stack generates a stack trace.
func stack() string {
var (
final []string
buffer = make([]byte, 4096)
n = runtime.Stack(buffer, false)
stack = string(buffer[:n])
lines = strings.Split(stack, "\n")
)
for i := 6; i < len(lines); i += 2 {
line := strings.TrimSpace(lines[i])
space := strings.LastIndex(line, " ")
if space != -1 {
line = line[:space]
}
final = append(final, line)
}
return strings.Join(final, "\n")
}