Comments (11)
A CodeView TypeRecord for 0x1609
does not appear to be documented on LLVM's site.
from raw_pdb.
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.
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 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.
0x1609
is LF_STRUCTURE2
. TypePropery
/property
is extended to 32 bits.
from raw_pdb.
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.
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.
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.
@lukekasz , https://github.com/google/orbit/blob/main/src/ObjectUtils/testdata/dllmain.cpp
from raw_pdb.
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:
- https://github.com/lukekasz/raw_pdb/tree/missing-type-record-kinds
- main...lukekasz:raw_pdb:missing-type-record-kinds
from raw_pdb.
That's great @lukekasz, thanks a lot for the quick reply! I'll use your branch, cheers!
from raw_pdb.
Related Issues (20)
- Tons of warnings emitted when building with clang 13.0.1 HOT 3
- Examples project: NULL pointer dereference from appending NULL string HOT 5
- Crash when trying to read symbols from `LLVMCodeGen.pdb` HOT 3
- Can't build HOT 3
- How to get type size HOT 1
- Rewrite PDBs? HOT 11
- Examples fail to compile on Ubuntu 22.04.2 HOT 2
- Default MSFStream Type - CoalescedMSFStream vs DirectMSFStream HOT 2
- Unhandled TypeRecordKind 0x110B HOT 1
- ExampleFunctionSymbols trampling HOT 2
- Unhandled record kind 0x1179 HOT 6
- ExampleTypes assert in DisplayFields() HOT 4
- Qt6WebEngineCore.pdb error HOT 18
- Why are so many rva the same, but the functions are different
- jpeg62.pdb bug HOT 2
- Microsoft.VisualStudio.Coverage.Monitor.pdb bug HOT 9
- I am not sure I understand the validity of PDB_NO_ALIAS HOT 2
- Can a pdb file be modified? HOT 2
- wrong offset HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from raw_pdb.