Skip to content

Create a system-library-independent PDB reader that needs no private loaderΒ #2538

@derekbruening

Description

@derekbruening

The reliance on dbghelp.dll is a roadblock requiring that Dr. Memory use DR's private loader to try to satisfy all the WinAPI dependencies of dbghelp. DR's private loader is fragile and sometimes fails on new versions of system libraries. If we had a portable PDB reader we could potentially stop using the private loader and rely only on the DR API and drwinapi.

With LLVM documenting the PDB format and adding support to their tools a few years ago, we may be able to accomplish this. Unfortunately LLVM does not provide a nice library to just replace dbghelp. We would have to imitate what a tool like llvm-pdbutil (https://llvm.org/docs/CommandGuide/llvm-pdbutil.html) does, or what lldb does (not sure how much PDB support is in lldb), with a full understanding of the new PDB documentation: https://llvm.org/docs/PDB/index.html, and considering the LLVM Apache-based license.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions