locspec,proc: improve documentation (#2338)

* Reformat pkg/locspec documentation so that it is formatted correctly
  by godoc/pkgsite
* Unexport some types and variables in proc that don't need to be
  exported.
This commit is contained in:
Alessandro Arzilli
2021-02-10 18:31:37 +01:00
committed by GitHub
parent 74223baf90
commit c068861f95
4 changed files with 68 additions and 68 deletions

View File

@ -6,7 +6,7 @@
// locStr ::= <filename>:<line> | <function>[:<line>] | /<regex>/ | (+|-)<offset> | <line> | *<address> // locStr ::= <filename>:<line> | <function>[:<line>] | /<regex>/ | (+|-)<offset> | <line> | *<address>
// * <filename> can be the full path of a file or just a suffix // * <filename> can be the full path of a file or just a suffix
// * <function> ::= <package>.<receiver type>.<name> | <package>.(*<receiver type>).<name> | <receiver type>.<name> | <package>.<name> | (*<receiver type>).<name> | <name> // * <function> ::= <package>.<receiver type>.<name> | <package>.(*<receiver type>).<name> | <receiver type>.<name> | <package>.<name> | (*<receiver type>).<name> | <name>
// * <function> must be unambiguous // <function> must be unambiguous
// * /<regex>/ will return a location for each function matched by regex // * /<regex>/ will return a location for each function matched by regex
// * +<offset> returns a location for the line that is <offset> lines after the current line // * +<offset> returns a location for the line that is <offset> lines after the current line
// * -<offset> returns a location for the line that is <offset> lines before the current line // * -<offset> returns a location for the line that is <offset> lines before the current line

View File

@ -123,8 +123,8 @@ var (
elf.EM_386: true, elf.EM_386: true,
} }
supportedWindowsArch = map[PEMachine]bool{ supportedWindowsArch = map[_PEMachine]bool{
IMAGE_FILE_MACHINE_AMD64: true, _IMAGE_FILE_MACHINE_AMD64: true,
} }
supportedDarwinArch = map[macho.Cpu]bool{ supportedDarwinArch = map[macho.Cpu]bool{
@ -227,19 +227,19 @@ func FirstPCAfterPrologue(p Process, fn *Function, sameline bool) (uint64, error
return pc, nil return pc, nil
} }
// CpuArch is a stringer interface representing CPU architectures. // cpuArch is a stringer interface representing CPU architectures.
type CpuArch interface { type cpuArch interface {
String() string String() string
} }
// ErrUnsupportedArch is returned when attempting to debug a binary compiled for an unsupported architecture. // ErrUnsupportedArch is returned when attempting to debug a binary compiled for an unsupported architecture.
type ErrUnsupportedArch struct { type ErrUnsupportedArch struct {
os string os string
cpuArch CpuArch cpuArch cpuArch
} }
func (e *ErrUnsupportedArch) Error() string { func (e *ErrUnsupportedArch) Error() string {
var supportArchs []CpuArch var supportArchs []cpuArch
switch e.os { switch e.os {
case "linux": case "linux":
for linuxArch, _ := range supportedLinuxArch { for linuxArch, _ := range supportedLinuxArch {
@ -1185,8 +1185,8 @@ func loadBinaryInfoElf(bi *BinaryInfo, image *Image, path string, addr uint64, w
return nil return nil
} }
// STT_FUNC is a code object, see /usr/include/elf.h for a full definition. // _STT_FUNC is a code object, see /usr/include/elf.h for a full definition.
const STT_FUNC = 2 const _STT_FUNC = 2
func (bi *BinaryInfo) loadSymbolName(image *Image, file *elf.File, wg *sync.WaitGroup) { func (bi *BinaryInfo) loadSymbolName(image *Image, file *elf.File, wg *sync.WaitGroup) {
defer wg.Done() defer wg.Done()
@ -1196,7 +1196,7 @@ func (bi *BinaryInfo) loadSymbolName(image *Image, file *elf.File, wg *sync.Wait
symSecs, _ := file.Symbols() symSecs, _ := file.Symbols()
if symSecs != nil { if symSecs != nil {
for _, symSec := range symSecs { for _, symSec := range symSecs {
if symSec.Info == STT_FUNC { // TODO(chainhelen), need to parse others types. if symSec.Info == _STT_FUNC { // TODO(chainhelen), need to parse others types.
s := symSec s := symSec
bi.SymNames[symSec.Value+image.StaticBase] = &s bi.SymNames[symSec.Value+image.StaticBase] = &s
} }
@ -1274,7 +1274,7 @@ func loadBinaryInfoPE(bi *BinaryInfo, image *Image, path string, entryPoint uint
return err return err
} }
image.closer = closer image.closer = closer
cpuArch := PEMachine(peFile.Machine) cpuArch := _PEMachine(peFile.Machine)
if !supportedWindowsArch[cpuArch] { if !supportedWindowsArch[cpuArch] {
return &ErrUnsupportedArch{os: "windows", cpuArch: cpuArch} return &ErrUnsupportedArch{os: "windows", cpuArch: cpuArch}
} }

View File

@ -56,7 +56,7 @@ type AssemblyFlavour int
const ( const (
// GNUFlavour will display GNU assembly syntax. // GNUFlavour will display GNU assembly syntax.
GNUFlavour = AssemblyFlavour(iota) GNUFlavour AssemblyFlavour = iota
// IntelFlavour will display Intel assembly syntax. // IntelFlavour will display Intel assembly syntax.
IntelFlavour IntelFlavour
// GoFlavour will display Go assembly syntax. // GoFlavour will display Go assembly syntax.

View File

@ -5,60 +5,60 @@ import (
) )
const ( const (
IMAGE_FILE_MACHINE_UNKNOWN = 0x0 _IMAGE_FILE_MACHINE_UNKNOWN = 0x0
IMAGE_FILE_MACHINE_AM33 = 0x1d3 _IMAGE_FILE_MACHINE_AM33 = 0x1d3
IMAGE_FILE_MACHINE_AMD64 = 0x8664 _IMAGE_FILE_MACHINE_AMD64 = 0x8664
IMAGE_FILE_MACHINE_ARM = 0x1c0 _IMAGE_FILE_MACHINE_ARM = 0x1c0
IMAGE_FILE_MACHINE_ARMNT = 0x1c4 _IMAGE_FILE_MACHINE_ARMNT = 0x1c4
IMAGE_FILE_MACHINE_ARM64 = 0xaa64 _IMAGE_FILE_MACHINE_ARM64 = 0xaa64
IMAGE_FILE_MACHINE_EBC = 0xebc _IMAGE_FILE_MACHINE_EBC = 0xebc
IMAGE_FILE_MACHINE_I386 = 0x14c _IMAGE_FILE_MACHINE_I386 = 0x14c
IMAGE_FILE_MACHINE_IA64 = 0x200 _IMAGE_FILE_MACHINE_IA64 = 0x200
IMAGE_FILE_MACHINE_M32R = 0x9041 _IMAGE_FILE_MACHINE_M32R = 0x9041
IMAGE_FILE_MACHINE_MIPS16 = 0x266 _IMAGE_FILE_MACHINE_MIPS16 = 0x266
IMAGE_FILE_MACHINE_MIPSFPU = 0x366 _IMAGE_FILE_MACHINE_MIPSFPU = 0x366
IMAGE_FILE_MACHINE_MIPSFPU16 = 0x466 _IMAGE_FILE_MACHINE_MIPSFPU16 = 0x466
IMAGE_FILE_MACHINE_POWERPC = 0x1f0 _IMAGE_FILE_MACHINE_POWERPC = 0x1f0
IMAGE_FILE_MACHINE_POWERPCFP = 0x1f1 _IMAGE_FILE_MACHINE_POWERPCFP = 0x1f1
IMAGE_FILE_MACHINE_R4000 = 0x166 _IMAGE_FILE_MACHINE_R4000 = 0x166
IMAGE_FILE_MACHINE_SH3 = 0x1a2 _IMAGE_FILE_MACHINE_SH3 = 0x1a2
IMAGE_FILE_MACHINE_SH3DSP = 0x1a3 _IMAGE_FILE_MACHINE_SH3DSP = 0x1a3
IMAGE_FILE_MACHINE_SH4 = 0x1a6 _IMAGE_FILE_MACHINE_SH4 = 0x1a6
IMAGE_FILE_MACHINE_SH5 = 0x1a8 _IMAGE_FILE_MACHINE_SH5 = 0x1a8
IMAGE_FILE_MACHINE_THUMB = 0x1c2 _IMAGE_FILE_MACHINE_THUMB = 0x1c2
IMAGE_FILE_MACHINE_WCEMIPSV2 = 0x169 _IMAGE_FILE_MACHINE_WCEMIPSV2 = 0x169
) )
type PEMachine uint16 type _PEMachine uint16
// PEMachineString map pe machine to name, See $GOROOT/src/debug/pe/pe.go for detail // PEMachineString map pe machine to name, See $GOROOT/src/debug/pe/pe.go for detail
var PEMachineString = map[uint16]string{ var _PEMachineString = map[_PEMachine]string{
IMAGE_FILE_MACHINE_UNKNOWN: "unknown", _IMAGE_FILE_MACHINE_UNKNOWN: "unknown",
IMAGE_FILE_MACHINE_AM33: "am33", _IMAGE_FILE_MACHINE_AM33: "am33",
IMAGE_FILE_MACHINE_AMD64: "amd64", _IMAGE_FILE_MACHINE_AMD64: "amd64",
IMAGE_FILE_MACHINE_ARM: "arm", _IMAGE_FILE_MACHINE_ARM: "arm",
IMAGE_FILE_MACHINE_ARMNT: "armnt", _IMAGE_FILE_MACHINE_ARMNT: "armnt",
IMAGE_FILE_MACHINE_ARM64: "arm64", _IMAGE_FILE_MACHINE_ARM64: "arm64",
IMAGE_FILE_MACHINE_EBC: "ebc", _IMAGE_FILE_MACHINE_EBC: "ebc",
IMAGE_FILE_MACHINE_I386: "i386", _IMAGE_FILE_MACHINE_I386: "i386",
IMAGE_FILE_MACHINE_IA64: "ia64", _IMAGE_FILE_MACHINE_IA64: "ia64",
IMAGE_FILE_MACHINE_M32R: "m32r", _IMAGE_FILE_MACHINE_M32R: "m32r",
IMAGE_FILE_MACHINE_MIPS16: "mips16", _IMAGE_FILE_MACHINE_MIPS16: "mips16",
IMAGE_FILE_MACHINE_MIPSFPU: "mipsfpu", _IMAGE_FILE_MACHINE_MIPSFPU: "mipsfpu",
IMAGE_FILE_MACHINE_MIPSFPU16: "mipsfpu16", _IMAGE_FILE_MACHINE_MIPSFPU16: "mipsfpu16",
IMAGE_FILE_MACHINE_POWERPC: "powerpc", _IMAGE_FILE_MACHINE_POWERPC: "powerpc",
IMAGE_FILE_MACHINE_POWERPCFP: "powerpcfp", _IMAGE_FILE_MACHINE_POWERPCFP: "powerpcfp",
IMAGE_FILE_MACHINE_R4000: "r4000", _IMAGE_FILE_MACHINE_R4000: "r4000",
IMAGE_FILE_MACHINE_SH3: "sh3", _IMAGE_FILE_MACHINE_SH3: "sh3",
IMAGE_FILE_MACHINE_SH3DSP: "sh3dsp", _IMAGE_FILE_MACHINE_SH3DSP: "sh3dsp",
IMAGE_FILE_MACHINE_SH4: "sh4", _IMAGE_FILE_MACHINE_SH4: "sh4",
IMAGE_FILE_MACHINE_SH5: "sh5", _IMAGE_FILE_MACHINE_SH5: "sh5",
IMAGE_FILE_MACHINE_THUMB: "thumb", _IMAGE_FILE_MACHINE_THUMB: "thumb",
IMAGE_FILE_MACHINE_WCEMIPSV2: "wcemipsv2", _IMAGE_FILE_MACHINE_WCEMIPSV2: "wcemipsv2",
} }
func (m PEMachine) String() string { func (m _PEMachine) String() string {
str, ok := PEMachineString[uint16(m)] str, ok := _PEMachineString[m]
if ok { if ok {
return str return str
} }