mirror of
https://github.com/akyaiy/GoSally-mvp.git
synced 2026-01-03 08:32:24 +00:00
remove stackTrimPaths from CatchPanic, and add -trimpath to Makefile
This commit is contained in:
2
Makefile
2
Makefile
@@ -30,7 +30,7 @@ build:
|
|||||||
@# @echo "CGO_CFLAGS is: '$(CGO_CFLAGS)'"
|
@# @echo "CGO_CFLAGS is: '$(CGO_CFLAGS)'"
|
||||||
@# @echo "CGO_LDFLAGS is: '$(CGO_LDFLAGS)'"
|
@# @echo "CGO_LDFLAGS is: '$(CGO_LDFLAGS)'"
|
||||||
@# CGO_CFLAGS="$(CGO_CFLAGS)" CGO_LDFLAGS="$(CGO_LDFLAGS)"
|
@# CGO_CFLAGS="$(CGO_CFLAGS)" CGO_LDFLAGS="$(CGO_LDFLAGS)"
|
||||||
go build -ldflags "$(LDFLAGS)" -o $(BIN_DIR)/$(APP_NAME) ./
|
go build -trimpath -ldflags "$(LDFLAGS)" -o $(BIN_DIR)/$(APP_NAME) ./
|
||||||
|
|
||||||
run: build
|
run: build
|
||||||
@echo "Running!"
|
@echo "Running!"
|
||||||
|
|||||||
@@ -3,38 +3,14 @@ package utils
|
|||||||
import (
|
import (
|
||||||
"log"
|
"log"
|
||||||
"runtime"
|
"runtime"
|
||||||
"strings"
|
|
||||||
|
|
||||||
"golang.org/x/net/context"
|
"golang.org/x/net/context"
|
||||||
)
|
)
|
||||||
|
|
||||||
// temportary solution, pls dont judge
|
|
||||||
func trimStackPaths(stack []byte, folderName string) []byte {
|
|
||||||
lines := strings.Split(string(stack), "\n")
|
|
||||||
for i, line := range lines {
|
|
||||||
idx := strings.Index(line, folderName)
|
|
||||||
if idx != -1 {
|
|
||||||
indentEnd := strings.LastIndex(line[:idx], "\t")
|
|
||||||
if indentEnd == -1 {
|
|
||||||
indentEnd = 0
|
|
||||||
} else {
|
|
||||||
indentEnd++
|
|
||||||
}
|
|
||||||
start := idx + len(folderName) + 1
|
|
||||||
if start > len(line) {
|
|
||||||
start = len(line)
|
|
||||||
}
|
|
||||||
lines[i] = line[:indentEnd] + line[start:]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return []byte(strings.Join(lines, "\n"))
|
|
||||||
}
|
|
||||||
|
|
||||||
func CatchPanic() {
|
func CatchPanic() {
|
||||||
if err := recover(); err != nil {
|
if err := recover(); err != nil {
|
||||||
stack := make([]byte, 8096)
|
stack := make([]byte, 8096)
|
||||||
stack = stack[:runtime.Stack(stack, false)]
|
stack = stack[:runtime.Stack(stack, false)]
|
||||||
stack = trimStackPaths(stack, "GoSally-mvp")
|
|
||||||
log.Printf("recovered panic:\n%s", stack)
|
log.Printf("recovered panic:\n%s", stack)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -43,7 +19,6 @@ func CatchPanicWithCancel(cancel context.CancelFunc) {
|
|||||||
if err := recover(); err != nil {
|
if err := recover(); err != nil {
|
||||||
stack := make([]byte, 8096)
|
stack := make([]byte, 8096)
|
||||||
stack = stack[:runtime.Stack(stack, false)]
|
stack = stack[:runtime.Stack(stack, false)]
|
||||||
stack = trimStackPaths(stack, "GoSally-mvp")
|
|
||||||
log.Printf("recovered panic:\n%s", stack)
|
log.Printf("recovered panic:\n%s", stack)
|
||||||
cancel()
|
cancel()
|
||||||
}
|
}
|
||||||
@@ -53,7 +28,6 @@ func CatchPanicWithFallback(onPanic func(any)) {
|
|||||||
if err := recover(); err != nil {
|
if err := recover(); err != nil {
|
||||||
stack := make([]byte, 8096)
|
stack := make([]byte, 8096)
|
||||||
stack = stack[:runtime.Stack(stack, false)]
|
stack = stack[:runtime.Stack(stack, false)]
|
||||||
stack = trimStackPaths(stack, "GoSally-mvp")
|
|
||||||
log.Printf("recovered panic:\n%s", stack)
|
log.Printf("recovered panic:\n%s", stack)
|
||||||
onPanic(err)
|
onPanic(err)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user