...

Package godebugs

import "internal/godebugs"
Overview
Index

Overview ▾

Package godebugs provides a table of known GODEBUG settings, for use by a variety of other packages, including internal/godebug, runtime, runtime/metrics, and cmd/go/internal/load.

Variables

All is the table of known settings, sorted by Name.

Note: After adding entries to this table, run 'go generate runtime/metrics' to update the runtime/metrics doc comment. (Otherwise the runtime/metrics test will fail.)

Note: After adding entries to this table, update the list in doc/godebug.md as well. (Otherwise the test in this package will fail.)

var All = []Info{
    {Name: "execerrdot", Package: "os/exec"},
    {Name: "gocachehash", Package: "cmd/go"},
    {Name: "gocachetest", Package: "cmd/go"},
    {Name: "gocacheverify", Package: "cmd/go"},
    {Name: "gotypesalias", Package: "go/types"},
    {Name: "http2client", Package: "net/http"},
    {Name: "http2debug", Package: "net/http", Opaque: true},
    {Name: "http2server", Package: "net/http"},
    {Name: "httplaxcontentlength", Package: "net/http", Changed: 22, Old: "1"},
    {Name: "httpmuxgo121", Package: "net/http", Changed: 22, Old: "1"},
    {Name: "installgoroot", Package: "go/build"},
    {Name: "jstmpllitinterp", Package: "html/template"},

    {Name: "multipartmaxheaders", Package: "mime/multipart"},
    {Name: "multipartmaxparts", Package: "mime/multipart"},
    {Name: "multipathtcp", Package: "net"},
    {Name: "netdns", Package: "net", Opaque: true},
    {Name: "netedns0", Package: "net", Changed: 19, Old: "0"},
    {Name: "panicnil", Package: "runtime", Changed: 21, Old: "1"},
    {Name: "randautoseed", Package: "math/rand"},
    {Name: "tarinsecurepath", Package: "archive/tar"},
    {Name: "tls10server", Package: "crypto/tls", Changed: 22, Old: "1"},
    {Name: "tlsmaxrsasize", Package: "crypto/tls"},
    {Name: "tlsrsakex", Package: "crypto/tls", Changed: 22, Old: "1"},
    {Name: "tlsunsafeekm", Package: "crypto/tls", Changed: 22, Old: "1"},
    {Name: "x509sha1", Package: "crypto/x509"},
    {Name: "x509usefallbackroots", Package: "crypto/x509"},
    {Name: "x509usepolicies", Package: "crypto/x509"},
    {Name: "zipinsecurepath", Package: "archive/zip"},
}

type Info

An Info describes a single known GODEBUG setting.

type Info struct {
    Name    string // name of the setting ("panicnil")
    Package string // package that uses the setting ("runtime")
    Changed int    // minor version when default changed, if any; 21 means Go 1.21
    Old     string // value that restores behavior prior to Changed
    Opaque  bool   // setting does not export information to runtime/metrics using [internal/godebug.Setting.IncNonDefault]
}

func Lookup

func Lookup(name string) *Info

Lookup returns the Info with the given name.