package dwarf

Import Path
	debug/dwarf (on golang.org and go.dev)

Dependency Relation
	imports 9 packages, and imported by 4 packages

Involved Source Files
	    attr_string.go
	    buf.go
	    class_string.go
	    const.go
	    entry.go
	    line.go
	d-> open.go
	    tag_string.go
	    type.go
	    typeunit.go
	    unit.go

Exported Type Names

type AddrType (struct) An AddrType represents a machine address type. BasicType BasicType BasicType.BitOffset int64 BasicType.BitSize int64 BasicType.CommonType CommonType BasicType.CommonType.ByteSize int64 BasicType.CommonType.Name string (*T) Basic() *BasicType (*T) Common() *CommonType (*T) Size() int64 (*T) String() string *T : Type *T : expvar.Var *T : fmt.Stringer
type ArrayType (struct) An ArrayType represents a fixed size array type. CommonType CommonType CommonType.ByteSize int64 CommonType.Name string Count int64 StrideBitSize int64 Type Type (*T) Common() *CommonType (*T) Size() int64 (*T) String() string *T : Type *T : expvar.Var *T : fmt.Stringer
type Attr uint32 An Attr identifies the attribute type in a DWARF Entry's Field. (T) GoString() string (T) String() string T : expvar.Var T : fmt.GoStringer T : fmt.Stringer func (*Entry).AttrField(a Attr) *Field func (*Entry).Val(a Attr) interface{} const AttrAbstractOrigin const AttrAccessibility const AttrAddrBase const AttrAddrClass const AttrAlignment const AttrAllocated const AttrArtificial const AttrAssociated const AttrBaseTypes const AttrBinaryScale const AttrBitOffset const AttrBitSize const AttrByteSize const AttrCallAllCalls const AttrCallAllSourceCalls const AttrCallAllTailCalls const AttrCallColumn const AttrCallDataLocation const AttrCallDataValue const AttrCallFile const AttrCalling const AttrCallLine const AttrCallOrigin const AttrCallParameter const AttrCallPC const AttrCallReturnPC const AttrCallTailCall const AttrCallTarget const AttrCallTargetClobbered const AttrCallValue const AttrCommonRef const AttrCompDir const AttrConstExpr const AttrConstValue const AttrContainingType const AttrCount const AttrDataBitOffset const AttrDataLocation const AttrDataMemberLoc const AttrDecimalScale const AttrDecimalSign const AttrDeclaration const AttrDeclColumn const AttrDeclFile const AttrDeclLine const AttrDefaulted const AttrDefaultValue const AttrDeleted const AttrDescription const AttrDigitCount const AttrDiscr const AttrDiscrList const AttrDiscrValue const AttrDwoName const AttrElemental const AttrEncoding const AttrEndianity const AttrEntrypc const AttrEnumClass const AttrExplicit const AttrExportSymbols const AttrExtension const AttrExternal const AttrFrameBase const AttrFriend const AttrHighpc const AttrIdentifierCase const AttrImport const AttrInline const AttrIsOptional const AttrLanguage const AttrLinkageName const AttrLocation const AttrLoclistsBase const AttrLowerBound const AttrLowpc const AttrMacroInfo const AttrMacros const AttrMainSubprogram const AttrMutable const AttrName const AttrNamelistItem const AttrNoreturn const AttrObjectPointer const AttrOrdering const AttrPictureString const AttrPriority const AttrProducer const AttrPrototyped const AttrPure const AttrRanges const AttrRank const AttrRecursive const AttrReference const AttrReturnAddr const AttrRnglistsBase const AttrRvalueReference const AttrSegment const AttrSibling const AttrSignature const AttrSmall const AttrSpecification const AttrStartScope const AttrStaticLink const AttrStmtList const AttrStride const AttrStrideSize const AttrStringLength const AttrStringLengthBitSize const AttrStringLengthByteSize const AttrStrOffsetsBase const AttrThreadsScaled const AttrTrampoline const AttrType const AttrUpperBound const AttrUseLocation const AttrUseUTF8 const AttrVarParam const AttrVirtuality const AttrVisibility const AttrVtableElemLoc
type BasicType (struct) A BasicType holds fields common to all basic types. BitOffset int64 BitSize int64 CommonType CommonType CommonType.ByteSize int64 CommonType.Name string (*T) Basic() *BasicType (*T) Common() *CommonType (*T) Size() int64 (*T) String() string *T : Type *T : expvar.Var *T : fmt.Stringer func (*BasicType).Basic() *BasicType
type BoolType (struct) A BoolType represents a boolean type. BasicType BasicType BasicType.BitOffset int64 BasicType.BitSize int64 BasicType.CommonType CommonType BasicType.CommonType.ByteSize int64 BasicType.CommonType.Name string (*T) Basic() *BasicType (*T) Common() *CommonType (*T) Size() int64 (*T) String() string *T : Type *T : expvar.Var *T : fmt.Stringer
type CharType (struct) A CharType represents a signed character type. BasicType BasicType BasicType.BitOffset int64 BasicType.BitSize int64 BasicType.CommonType CommonType BasicType.CommonType.ByteSize int64 BasicType.CommonType.Name string (*T) Basic() *BasicType (*T) Common() *CommonType (*T) Size() int64 (*T) String() string *T : Type *T : expvar.Var *T : fmt.Stringer
type Class int A Class is the DWARF 4 class of an attribute value. In general, a given attribute's value may take on one of several possible classes defined by DWARF, each of which leads to a slightly different interpretation of the attribute. DWARF version 4 distinguishes attribute value classes more finely than previous versions of DWARF. The reader will disambiguate coarser classes from earlier versions of DWARF into the appropriate DWARF 4 class. For example, DWARF 2 uses "constant" for constants as well as all types of section offsets, but the reader will canonicalize attributes in DWARF 2 files that refer to section offsets to one of the Class*Ptr classes, even though these classes were only defined in DWARF 3. (T) GoString() string (T) String() string T : expvar.Var T : fmt.GoStringer T : fmt.Stringer const ClassAddress const ClassAddrPtr const ClassBlock const ClassConstant const ClassExprLoc const ClassFlag const ClassLinePtr const ClassLocList const ClassLocListPtr const ClassMacPtr const ClassRangeListPtr const ClassReference const ClassReferenceAlt const ClassReferenceSig const ClassRngList const ClassRngListsPtr const ClassString const ClassStringAlt const ClassStrOffsetsPtr const ClassUnknown
type CommonType (struct) A CommonType holds fields common to multiple types. If a field is not known or not applicable for a given type, the zero value is used. ByteSize int64 Name string (*T) Common() *CommonType (*T) Size() int64 func (*CommonType).Common() *CommonType func Type.Common() *CommonType
type ComplexType (struct) A ComplexType represents a complex floating point type. BasicType BasicType BasicType.BitOffset int64 BasicType.BitSize int64 BasicType.CommonType CommonType BasicType.CommonType.ByteSize int64 BasicType.CommonType.Name string (*T) Basic() *BasicType (*T) Common() *CommonType (*T) Size() int64 (*T) String() string *T : Type *T : expvar.Var *T : fmt.Stringer
type Data (struct) Data represents the DWARF debugging information loaded from an executable file (for example, an ELF or Mach-O executable). (*T) AddSection(name string, contents []byte) error (*T) AddTypes(name string, types []byte) error (*T) LineReader(cu *Entry) (*LineReader, error) (*T) Ranges(e *Entry) ([][2]uint64, error) (*T) Reader() *Reader (*T) Type(off Offset) (Type, error) func New(abbrev, aranges, frame, info, line, pubnames, ranges, str []byte) (*Data, error) func debug/elf.(*File).DWARF() (*Data, error) func debug/macho.(*File).DWARF() (*Data, error) func debug/pe.(*File).DWARF() (*Data, error) func internal/xcoff.(*File).DWARF() (*Data, error)
type DecodeError (struct) Err string Name string Offset Offset (T) Error() string T : error
type DotDotDotType (struct) A DotDotDotType represents the variadic ... function parameter. CommonType CommonType CommonType.ByteSize int64 CommonType.Name string (*T) Common() *CommonType (*T) Size() int64 (*T) String() string *T : Type *T : expvar.Var *T : fmt.Stringer
type Entry (struct) An entry is a sequence of attribute/value pairs. Children bool Field []Field Offset Offset Tag Tag (*T) AttrField(a Attr) *Field (*T) Val(a Attr) interface{} func (*Reader).Next() (*Entry, error) func (*Reader).SeekPC(pc uint64) (*Entry, error) func (*Data).LineReader(cu *Entry) (*LineReader, error) func (*Data).Ranges(e *Entry) ([][2]uint64, error)
type EnumType (struct) An EnumType represents an enumerated type. The only indication of its native integer type is its ByteSize (inside CommonType). CommonType CommonType CommonType.ByteSize int64 CommonType.Name string EnumName string Val []*EnumValue (*T) Common() *CommonType (*T) Size() int64 (*T) String() string *T : Type *T : expvar.Var *T : fmt.Stringer
type EnumValue (struct) An EnumValue represents a single enumeration value. Name string Val int64
type Field (struct) A Field is a single attribute/value pair in an Entry. A value can be one of several "attribute classes" defined by DWARF. The Go types corresponding to each class are: DWARF class Go type Class ----------- ------- ----- address uint64 ClassAddress block []byte ClassBlock constant int64 ClassConstant flag bool ClassFlag reference to info dwarf.Offset ClassReference to type unit uint64 ClassReferenceSig string string ClassString exprloc []byte ClassExprLoc lineptr int64 ClassLinePtr loclistptr int64 ClassLocListPtr macptr int64 ClassMacPtr rangelistptr int64 ClassRangeListPtr For unrecognized or vendor-defined attributes, Class may be ClassUnknown. Attr Attr Class Class Val interface{} func (*Entry).AttrField(a Attr) *Field
type FloatType (struct) A FloatType represents a floating point type. BasicType BasicType BasicType.BitOffset int64 BasicType.BitSize int64 BasicType.CommonType CommonType BasicType.CommonType.ByteSize int64 BasicType.CommonType.Name string (*T) Basic() *BasicType (*T) Common() *CommonType (*T) Size() int64 (*T) String() string *T : Type *T : expvar.Var *T : fmt.Stringer
type FuncType (struct) A FuncType represents a function type. CommonType CommonType CommonType.ByteSize int64 CommonType.Name string ParamType []Type ReturnType Type (*T) Common() *CommonType (*T) Size() int64 (*T) String() string *T : Type *T : expvar.Var *T : fmt.Stringer
type IntType (struct) An IntType represents a signed integer type. BasicType BasicType BasicType.BitOffset int64 BasicType.BitSize int64 BasicType.CommonType CommonType BasicType.CommonType.ByteSize int64 BasicType.CommonType.Name string (*T) Basic() *BasicType (*T) Common() *CommonType (*T) Size() int64 (*T) String() string *T : Type *T : expvar.Var *T : fmt.Stringer
type LineEntry (struct) A LineEntry is a row in a DWARF line table. Address uint64 BasicBlock bool Column int Discriminator int EndSequence bool EpilogueBegin bool File *LineFile ISA int IsStmt bool Line int OpIndex int PrologueEnd bool func (*LineReader).Next(entry *LineEntry) error func (*LineReader).SeekPC(pc uint64, entry *LineEntry) error
type LineFile (struct) A LineFile is a source file referenced by a DWARF line table entry. Length int Mtime uint64 Name string func (*LineReader).Files() []*LineFile
type LineReader (struct) A LineReader reads a sequence of LineEntry structures from a DWARF "line" section for a single compilation unit. LineEntries occur in order of increasing PC and each LineEntry gives metadata for the instructions from that LineEntry's PC to just before the next LineEntry's PC. The last entry will have its EndSequence field set. (*T) Files() []*LineFile (*T) Next(entry *LineEntry) error (*T) Reset() (*T) Seek(pos LineReaderPos) (*T) SeekPC(pc uint64, entry *LineEntry) error (*T) Tell() LineReaderPos func (*Data).LineReader(cu *Entry) (*LineReader, error)
type LineReaderPos (struct) A LineReaderPos represents a position in a line table. func (*LineReader).Tell() LineReaderPos func (*LineReader).Seek(pos LineReaderPos)
type Offset uint32 An Offset represents the location of an Entry within the DWARF info. (See Reader.Seek.) func (*Data).Type(off Offset) (Type, error) func (*Reader).Seek(off Offset)
type PtrType (struct) A PtrType represents a pointer type. CommonType CommonType CommonType.ByteSize int64 CommonType.Name string Type Type (*T) Common() *CommonType (*T) Size() int64 (*T) String() string *T : Type *T : expvar.Var *T : fmt.Stringer
type QualType (struct) A QualType represents a type that has the C/C++ "const", "restrict", or "volatile" qualifier. CommonType CommonType CommonType.ByteSize int64 CommonType.Name string Qual string Type Type (*T) Common() *CommonType (*T) Size() int64 (*T) String() string *T : Type *T : expvar.Var *T : fmt.Stringer
type Reader (struct) A Reader allows reading Entry structures from a DWARF ``info'' section. The Entry structures are arranged in a tree. The Reader's Next function return successive entries from a pre-order traversal of the tree. If an entry has children, its Children field will be true, and the children follow, terminated by an Entry with Tag 0. (*T) AddressSize() int (*T) ByteOrder() binary.ByteOrder (*T) Next() (*Entry, error) (*T) Seek(off Offset) (*T) SeekPC(pc uint64) (*Entry, error) (*T) SkipChildren() func (*Data).Reader() *Reader
type StructField (struct) A StructField represents a field in a struct, union, or C++ class type. BitOffset int64 BitSize int64 ByteOffset int64 ByteSize int64 Name string Type Type
type StructType (struct) A StructType represents a struct, union, or C++ class type. CommonType CommonType CommonType.ByteSize int64 CommonType.Name string Field []*StructField Incomplete bool Kind string StructName string (*T) Common() *CommonType (*T) Defn() string (*T) Size() int64 (*T) String() string *T : Type *T : expvar.Var *T : fmt.Stringer
type Tag uint32 A Tag is the classification (the type) of an Entry. (T) GoString() string (T) String() string T : expvar.Var T : fmt.GoStringer T : fmt.Stringer const TagAccessDeclaration const TagArrayType const TagAtomicType const TagBaseType const TagCallSite const TagCallSiteParameter const TagCatchDwarfBlock const TagClassType const TagCoarrayType const TagCommonDwarfBlock const TagCommonInclusion const TagCompileUnit const TagCondition const TagConstant const TagConstType const TagDwarfProcedure const TagDynamicType const TagEntryPoint const TagEnumerationType const TagEnumerator const TagFileType const TagFormalParameter const TagFriend const TagGenericSubrange const TagImmutableType const TagImportedDeclaration const TagImportedModule const TagImportedUnit const TagInheritance const TagInlinedSubroutine const TagInterfaceType const TagLabel const TagLexDwarfBlock const TagMember const TagModule const TagMutableType const TagNamelist const TagNamelistItem const TagNamespace const TagPackedType const TagPartialUnit const TagPointerType const TagPtrToMemberType const TagReferenceType const TagRestrictType const TagRvalueReferenceType const TagSetType const TagSharedType const TagSkeletonUnit const TagStringType const TagStructType const TagSubprogram const TagSubrangeType const TagSubroutineType const TagTemplateAlias const TagTemplateTypeParameter const TagTemplateValueParameter const TagThrownType const TagTryDwarfBlock const TagTypedef const TagTypeUnit const TagUnionType const TagUnspecifiedParameters const TagUnspecifiedType const TagVariable const TagVariant const TagVariantPart const TagVolatileType const TagWithStmt
type Type (interface) A Type conventionally represents a pointer to any of the specific Type structures (CharType, StructType, etc.). (T) Common() *CommonType (T) Size() int64 (T) String() string *AddrType *ArrayType *BasicType *BoolType *CharType *ComplexType *DotDotDotType *EnumType *FloatType *FuncType *IntType *PtrType *QualType *StructType *TypedefType *UcharType *UintType *UnspecifiedType *UnsupportedType *VoidType T : expvar.Var T : fmt.Stringer func (*Data).Type(off Offset) (Type, error)
type TypedefType (struct) A TypedefType represents a named type. CommonType CommonType CommonType.ByteSize int64 CommonType.Name string Type Type (*T) Common() *CommonType (*T) Size() int64 (*T) String() string *T : Type *T : expvar.Var *T : fmt.Stringer
type UcharType (struct) A UcharType represents an unsigned character type. BasicType BasicType BasicType.BitOffset int64 BasicType.BitSize int64 BasicType.CommonType CommonType BasicType.CommonType.ByteSize int64 BasicType.CommonType.Name string (*T) Basic() *BasicType (*T) Common() *CommonType (*T) Size() int64 (*T) String() string *T : Type *T : expvar.Var *T : fmt.Stringer
type UintType (struct) A UintType represents an unsigned integer type. BasicType BasicType BasicType.BitOffset int64 BasicType.BitSize int64 BasicType.CommonType CommonType BasicType.CommonType.ByteSize int64 BasicType.CommonType.Name string (*T) Basic() *BasicType (*T) Common() *CommonType (*T) Size() int64 (*T) String() string *T : Type *T : expvar.Var *T : fmt.Stringer
type UnspecifiedType (struct) An UnspecifiedType represents an implicit, unknown, ambiguous or nonexistent type. BasicType BasicType BasicType.BitOffset int64 BasicType.BitSize int64 BasicType.CommonType CommonType BasicType.CommonType.ByteSize int64 BasicType.CommonType.Name string (*T) Basic() *BasicType (*T) Common() *CommonType (*T) Size() int64 (*T) String() string *T : Type *T : expvar.Var *T : fmt.Stringer
type UnsupportedType (struct) An UnsupportedType is a placeholder returned in situations where we encounter a type that isn't supported. CommonType CommonType CommonType.ByteSize int64 CommonType.Name string Tag Tag (*T) Common() *CommonType (*T) Size() int64 (*T) String() string *T : Type *T : expvar.Var *T : fmt.Stringer
type VoidType (struct) A VoidType represents the C void type. CommonType CommonType CommonType.ByteSize int64 CommonType.Name string (*T) Common() *CommonType (*T) Size() int64 (*T) String() string *T : Type *T : expvar.Var *T : fmt.Stringer
Exported Values
const AttrAddrBase Attr = 115
const AttrAddrClass Attr = 51
const AttrAlignment Attr = 136
const AttrAllocated Attr = 78 The following are new in DWARF 3.
const AttrArtificial Attr = 52
const AttrAssociated Attr = 79
const AttrBaseTypes Attr = 53
const AttrBinaryScale Attr = 91
const AttrBitOffset Attr = 12
const AttrBitSize Attr = 13
const AttrByteSize Attr = 11
const AttrCallAllCalls Attr = 122
const AttrCallColumn Attr = 87
const AttrCallDataValue Attr = 134
const AttrCallFile Attr = 88
const AttrCalling Attr = 54
const AttrCallLine Attr = 89
const AttrCallOrigin Attr = 127
const AttrCallParameter Attr = 128
const AttrCallPC Attr = 129
const AttrCallReturnPC Attr = 125
const AttrCallTailCall Attr = 130
const AttrCallTarget Attr = 131
const AttrCallValue Attr = 126
const AttrCommonRef Attr = 26
const AttrCompDir Attr = 27
const AttrConstExpr Attr = 108
const AttrConstValue Attr = 28
const AttrCount Attr = 55
const AttrDataBitOffset Attr = 107
const AttrDecimalSign Attr = 94
const AttrDeclaration Attr = 60
const AttrDeclColumn Attr = 57
const AttrDeclFile Attr = 58
const AttrDeclLine Attr = 59
const AttrDefaulted Attr = 139
const AttrDeleted Attr = 138
const AttrDescription Attr = 90
const AttrDigitCount Attr = 95
const AttrDiscr Attr = 21
const AttrDiscrList Attr = 61
const AttrDiscrValue Attr = 22
const AttrDwoName Attr = 118
const AttrElemental Attr = 102
const AttrEncoding Attr = 62
const AttrEndianity Attr = 101
const AttrEntrypc Attr = 82
const AttrEnumClass Attr = 109
const AttrExplicit Attr = 99
const AttrExportSymbols Attr = 137
const AttrExtension Attr = 84
const AttrExternal Attr = 63
const AttrFrameBase Attr = 64
const AttrFriend Attr = 65
const AttrHighpc Attr = 18
const AttrImport Attr = 24
const AttrInline Attr = 32
const AttrIsOptional Attr = 33
const AttrLanguage Attr = 19
const AttrLinkageName Attr = 110
const AttrLocation Attr = 2
const AttrLoclistsBase Attr = 140
const AttrLowerBound Attr = 34
const AttrLowpc Attr = 17
const AttrMacroInfo Attr = 67
const AttrMacros Attr = 121
const AttrMutable Attr = 97
const AttrName Attr = 3
const AttrNoreturn Attr = 135
const AttrObjectPointer Attr = 100
const AttrOrdering Attr = 9
const AttrPriority Attr = 69
const AttrProducer Attr = 37
const AttrPrototyped Attr = 39
const AttrPure Attr = 103
const AttrRanges Attr = 85
const AttrRank Attr = 113
const AttrRecursive Attr = 104
const AttrReference Attr = 119
const AttrReturnAddr Attr = 42
const AttrRnglistsBase Attr = 116
const AttrSegment Attr = 70
const AttrSibling Attr = 1
const AttrSignature Attr = 105 The following are new in DWARF 4.
const AttrSmall Attr = 93
const AttrStartScope Attr = 44
const AttrStmtList Attr = 16
const AttrStride Attr = 81
const AttrStrideSize Attr = 46
const AttrStringLengthBitSize Attr = 111 The following are new in DWARF 5.
const AttrTrampoline Attr = 86
const AttrType Attr = 73
const AttrUpperBound Attr = 47
const AttrUseLocation Attr = 74
const AttrUseUTF8 Attr = 83
const AttrVarParam Attr = 75
const AttrVirtuality Attr = 76
const AttrVisibility Attr = 23
const ClassAddress Class = 1 ClassAddress represents values of type uint64 that are addresses on the target machine.
const ClassAddrPtr Class = 15 ClassAddrPtr represents values that are an int64 offset into the "addr" section.
const ClassBlock Class = 2 ClassBlock represents values of type []byte whose interpretation depends on the attribute.
const ClassConstant Class = 3 ClassConstant represents values of type int64 that are constants. The interpretation of this constant depends on the attribute.
const ClassExprLoc Class = 4 ClassExprLoc represents values of type []byte that contain an encoded DWARF expression or location description.
const ClassFlag Class = 5 ClassFlag represents values of type bool.
const ClassLinePtr Class = 6 ClassLinePtr represents values that are an int64 offset into the "line" section.
const ClassLocList Class = 16 ClassLocList represents values that are an int64 offset into the "loclists" section.
const ClassLocListPtr Class = 7 ClassLocListPtr represents values that are an int64 offset into the "loclist" section.
const ClassMacPtr Class = 8 ClassMacPtr represents values that are an int64 offset into the "mac" section.
const ClassRangeListPtr Class = 9 ClassMacPtr represents values that are an int64 offset into the "rangelist" section.
const ClassReference Class = 10 ClassReference represents values that are an Offset offset of an Entry in the info section (for use with Reader.Seek). The DWARF specification combines ClassReference and ClassReferenceSig into class "reference".
const ClassReferenceAlt Class = 13 ClassReferenceAlt represents values of type int64 that are an offset into the DWARF "info" section of an alternate object file.
const ClassReferenceSig Class = 11 ClassReferenceSig represents values that are a uint64 type signature referencing a type Entry.
const ClassRngList Class = 17 ClassRngList represents values that are an int64 offset from the base of the "rnglists" section.
const ClassRngListsPtr Class = 18 ClassRngListsPtr represents values that are an int64 offset into the "rnglists" section. These are used as the base for ClassRngList values.
const ClassString Class = 12 ClassString represents values that are strings. If the compilation unit specifies the AttrUseUTF8 flag (strongly recommended), the string value will be encoded in UTF-8. Otherwise, the encoding is unspecified.
const ClassStringAlt Class = 14 ClassStringAlt represents values of type int64 that are an offset into the DWARF string section of an alternate object file.
const ClassStrOffsetsPtr Class = 19 ClassStrOffsetsPtr represents values that are an int64 offset into the "str_offsets" section.
const ClassUnknown Class = 0 ClassUnknown represents values of unknown DWARF class.
var ErrUnknownPC error ErrUnknownPC is the error returned by LineReader.ScanPC when the seek PC is not covered by any entry in the line table.
func New(abbrev, aranges, frame, info, line, pubnames, ranges, str []byte) (*Data, error) New returns a new Data object initialized from the given parameters. Rather than calling this function directly, clients should typically use the DWARF method of the File type of the appropriate package debug/elf, debug/macho, or debug/pe. The []byte arguments are the data from the corresponding debug section in the object file; for example, for an ELF object, abbrev is the contents of the ".debug_abbrev" section.
const TagArrayType Tag = 1
const TagAtomicType Tag = 71
const TagBaseType Tag = 36
const TagCallSite Tag = 72
const TagClassType Tag = 2
const TagCoarrayType Tag = 68 The following are new in DWARF 5.
const TagCompileUnit Tag = 17
const TagCondition Tag = 63
const TagConstant Tag = 39
const TagConstType Tag = 38
const TagDwarfProcedure Tag = 54 The following are new in DWARF 3.
const TagDynamicType Tag = 70
const TagEntryPoint Tag = 3
const TagEnumerator Tag = 40
const TagFileType Tag = 41
const TagFriend Tag = 42
const TagImmutableType Tag = 75
const TagImportedUnit Tag = 61
const TagInheritance Tag = 28
const TagInterfaceType Tag = 56
const TagLabel Tag = 10
const TagLexDwarfBlock Tag = 11
const TagMember Tag = 13
const TagModule Tag = 30
const TagMutableType Tag = 62 // Later removed from DWARF.
const TagNamelist Tag = 43
const TagNamelistItem Tag = 44
const TagNamespace Tag = 57
const TagPackedType Tag = 45
const TagPartialUnit Tag = 60
const TagPointerType Tag = 15
const TagReferenceType Tag = 16
const TagRestrictType Tag = 55
const TagSetType Tag = 32
const TagSharedType Tag = 64
const TagSkeletonUnit Tag = 74
const TagStringType Tag = 18
const TagStructType Tag = 19
const TagSubprogram Tag = 46
const TagSubrangeType Tag = 33
const TagTemplateAlias Tag = 67
const TagThrownType Tag = 49
const TagTryDwarfBlock Tag = 50
const TagTypedef Tag = 22
const TagTypeUnit Tag = 65 The following are new in DWARF 4.
const TagUnionType Tag = 23
const TagVariable Tag = 52
const TagVariant Tag = 25
const TagVariantPart Tag = 51
const TagVolatileType Tag = 53
const TagWithStmt Tag = 34