You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
The text was updated successfully, but these errors were encountered:
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.
The text was updated successfully, but these errors were encountered: