const defaultNM … type addr2LinerNM … type symbolInfo … // isData returns if the symbol has a known data object symbol type. func (s *symbolInfo) isData() bool { … } // newAddr2LinerNM starts the given nm command reporting information about the // given executable file. If file is a shared library, base should be the // address at which it was mapped in the program under consideration. func newAddr2LinerNM(cmd, file string, base uint64) (*addr2LinerNM, error) { … } func parseAddr2LinerNM(base uint64, nm io.Reader) (*addr2LinerNM, error) { … } // addrInfo returns the stack frame information for a specific program // address. It returns nil if the address could not be identified. func (a *addr2LinerNM) addrInfo(addr uint64) ([]plugin.Frame, error) { … }