Giter VIP home page Giter VIP logo

Comments (11)

ohz10 avatar ohz10 commented on August 10, 2024

A CodeView TypeRecord for 0x1609 does not appear to be documented on LLVM's site.

from raw_pdb.

MolecularMatters avatar MolecularMatters commented on August 10, 2024

Thanks for letting us know!
We'll look into this as soon as possible. Can you share one of the PDBs with us?
Also which Example are you running? There are several.

Please make sure that you don't use /DEBUG:FASTLINK, since that is unsupported.

from raw_pdb.

MolecularMatters avatar MolecularMatters commented on August 10, 2024

I added support for missing T_CHAR8 8-bit unicode types in C++20.
I haven't come across any PDBs that use TypeRecordKind 0x1609 though.

@ohz10 Can you please share such a PDB with us?
We'd like to get this fixed.

from raw_pdb.

ohz10 avatar ohz10 commented on August 10, 2024

@ohz10 Can you please share such a PDB with us?

We'd like to get this fixed.

Unfortunately, I cannot. I no longer have access to the Windows 10 machine I was making those PDBs on.

from raw_pdb.

JustasMasiulis avatar JustasMasiulis commented on August 10, 2024

0x1609 is LF_STRUCTURE2. TypePropery/property is extended to 32 bits.

from raw_pdb.

pierricgimmig avatar pierricgimmig commented on August 10, 2024

The dllmain.pdb file in https://github.com/google/orbit/tree/main/src/Symbols/testdata makes raw_pdb assert with:

Unhandled TypeRecordKind 0x1609

from raw_pdb.

pierricgimmig avatar pierricgimmig commented on August 10, 2024

Changing the assert to a log, with the same pdb as above, I also get:

Unhandled TypeRecordKind 1608
Unhandled TypeRecordKind 1609
Unhandled special type 42

from raw_pdb.

lukekasz avatar lukekasz commented on August 10, 2024

The dllmain.pdb file in https://github.com/google/orbit/tree/main/src/Symbols/testdata makes raw_pdb assert with:

Unhandled TypeRecordKind 0x1609

Is the source code for dllmain.dll available somewhere?

from raw_pdb.

pierricgimmig avatar pierricgimmig commented on August 10, 2024

@lukekasz , https://github.com/google/orbit/blob/main/src/ObjectUtils/testdata/dllmain.cpp

from raw_pdb.

lukekasz avatar lukekasz commented on August 10, 2024

I had a quick look at loading dllmain.pdb from the google/orbit repo and added support for the missing TypeRecordKinds 0x1608 and 0x1609 thanks to the hint from @JustasMasiulis. As well as handle the TypeIndexKind 0x42 (T_REAL80) in GetTypeName.

I'm now able to run all the examples on dllmain.pdb without hitting any asserts.

I have only done some quick testing and I'm traveling from tomorrow and for the rest of this week, so I won't have time to do more testing and open a PR to this repo until next week. Until then you can find the changes here:

  1. https://github.com/lukekasz/raw_pdb/tree/missing-type-record-kinds
  2. main...lukekasz:raw_pdb:missing-type-record-kinds

from raw_pdb.

pierricgimmig avatar pierricgimmig commented on August 10, 2024

That's great @lukekasz, thanks a lot for the quick reply! I'll use your branch, cheers!

from raw_pdb.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.