Skip to content

llmv-pdbutil: Cannot parse LF_STRUCTURE2 / LF_CLASS2 introduced since Visual Studio 2019 16.8+ #131

@hzqst

Description

@hzqst

Brief

Visual Studio 2019 16.8+ introduced new CodeView record formats, but not updated in cvinfo.h
Current llvm-pdbutil failed to parse those new records.

New record type 0x1609 LF_STRUCTURE2
Classic record type 0x1505 LF_STRUCTURE

Changes

uint16 property extended to uint32 property
uint64 count -> varint count

LF_STRUCTURE see: https://github.com/microsoft/microsoft-pdb/blob/805655a28bd8198004be2ac27e6e0290121a5e89/include/cvinfo.h#L1631C1-L1640C11

LF_STRUCTURE2 see: https://github.com/PascalBeyer/PDB-Documentation/blob/main/Readme.md#new-codeview-symbols

How to reproduce

.\llvm-pdbutil dump -types "ntoskrnl.exe.10.0.21286.1000\ntkrnlmp.pdb"

ntoskrnl.exe.10.0.21286.1000.zip

pwd:llvm-msvc

Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions