gdebug

package
v1.0.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 28, 2021 License: MIT Imports: 14 Imported by: 0

Documentation

Overview

Package gdebug contains facilities for programs to debug themselves while they are running.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func BinVersion

func BinVersion() string

BinVersion returns the version of current running binary. It uses ghash.BKDRHash+BASE36 algorithm to calculate the unique version of the binary.

func BinVersionMd5

func BinVersionMd5() string

BinVersionMd5 returns the version of current running binary. It uses MD5 algorithm to calculate the unique version of the binary.

func Caller

func Caller(skip ...int) (function string, path string, line int)

Caller returns the function name and the absolute file path along with its line number of the caller.

func CallerDirectory

func CallerDirectory() string

CallerDirectory returns the directory of the caller.

func CallerFileLine

func CallerFileLine() string

CallerFileLine returns the file path along with the line number of the caller.

func CallerFileLineShort

func CallerFileLineShort() string

CallerFileLineShort returns the file name along with the line number of the caller.

func CallerFilePath

func CallerFilePath() string

CallerFilePath returns the file path of the caller.

func CallerFunction

func CallerFunction() string

CallerFunction returns the function name of the caller.

func CallerPackage

func CallerPackage() string

CallerPackage returns the package name of the caller.

func CallerWithFilter

func CallerWithFilter(filter string, skip ...int) (function string, path string, line int)

CallerWithFilter returns the function name and the absolute file path along with its line number of the caller.

The parameter `filter` is used to filter the path of the caller.

func FuncName

func FuncName(f interface{}) string

FuncName returns the function name of given `f`.

func FuncPath

func FuncPath(f interface{}) string

FuncPath returns the complete function path of given `f`.

func GoroutineId

func GoroutineId() int

GoroutineId retrieves and returns the current goroutine id from stack information. Be very aware that, it is with low performance as it uses runtime.Stack function. It is commonly used for debugging purpose.

func PrintStack

func PrintStack(skip ...int)

PrintStack prints to standard error the stack trace returned by runtime.Stack.

func Stack

func Stack(skip ...int) string

Stack returns a formatted stack trace of the goroutine that calls it. It calls runtime.Stack with a large enough buffer to capture the entire trace.

func StackWithFilter

func StackWithFilter(filter string, skip ...int) string

StackWithFilter returns a formatted stack trace of the goroutine that calls it. It calls runtime.Stack with a large enough buffer to capture the entire trace.

The parameter `filter` is used to filter the path of the caller.

func StackWithFilters

func StackWithFilters(filters []string, skip ...int) string

StackWithFilters returns a formatted stack trace of the goroutine that calls it. It calls runtime.Stack with a large enough buffer to capture the entire trace.

The parameter `filters` is a slice of strings, which are used to filter the path of the caller.

TODO Improve the performance using debug.Stack.

func TestDataContent

func TestDataContent(names ...string) string

TestDataContent retrieves and returns the file content for specified testdata path of current package

func TestDataPath

func TestDataPath(names ...string) string

TestDataPath retrieves and returns the testdata path of current package, which is used for unit testing cases only. The optional parameter `names` specifies the sub-folders/sub-files, which will be joined with current system separator and returned with the path.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL