Documentation ¶
Index ¶
- func ParseCreatedLine(createdLine string) (funcName string, IsMainThread bool)
- func ParseFileLine(fileLine string) (file string, line int)
- func ParseFirstLine(debugStack string) (ID string, status string, err error)
- func ParseFuncLine(funcLine string) (funcName string, args string)
- type Frame
- type Stack
- func (s *Stack) Creator() (creator *pruntime.CodeLocation)
- func (s *Stack) Frames() (frames []*Frame)
- func (s *Stack) ID() (threadID string)
- func (s *Stack) IsMain() (isMainThread bool)
- func (st *Stack) SetCreator(creator *pruntime.CodeLocation, isMainThread bool)
- func (st *Stack) SetFrames(frames []*Frame)
- func (st *Stack) SetID(threadID string, status string)
- func (st *Stack) Shorts(prepend string) (s string)
- func (s *Stack) Status() (status string)
- func (st *Stack) String() (s string)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ParseCreatedLine ¶
ParseCreatedLine parses the second-to-last line of the stack trace. samples:
created by main.main created by main.(*MyType).goroutine1 main.main()
func ParseFileLine ¶
ParseFileLine parses a line of a tab character then absolue file path, followed by a colon and line number, then a space character and a byte offset.
"\t/gp-debug-stack/debug-stack.go:29 +0x44" "\t/opt/sw/parl/g0/waiterr.go:49"
func ParseFirstLine ¶
getID obtains gorutine ID, as of go1.18 a numeric string "1"…
func ParseFuncLine ¶
ParseFuncLine parses a line of a package name, optionally fully qualified, and a possible receiver type name and a function name, followed by a parenthesised argument list. samples:
main.main() main.(*MyType).goroutine1(0x0?, 0x140000120d0, 0x2) codeberg.org/haraldrudell/goprogramming/std/runtime-debug/gp-debug-stack/mypackage.Fn(...)
Types ¶
type Frame ¶
type Frame struct { pruntime.CodeLocation // contains filtered or unexported fields }
func (*Frame) Loc ¶
func (f *Frame) Loc() (location *pruntime.CodeLocation)
type Stack ¶
type Stack struct {
// contains filtered or unexported fields
}
func NewStack ¶
NewStack populates a Stack object with the current thread and its stack using debug.Stack
func (*Stack) Creator ¶
func (s *Stack) Creator() (creator *pruntime.CodeLocation)
func (*Stack) SetCreator ¶
func (st *Stack) SetCreator(creator *pruntime.CodeLocation, isMainThread bool)
Click to show internal directories.
Click to hide internal directories.