The dmd backend should generate .pdb files for visual studio.
kinke
noone at nowhere.com
Sun Feb 21 00:42:46 UTC 2021
On Sunday, 21 February 2021 at 00:21:06 UTC, 12345swordy wrote:
> Have you ever tried to diagnose the pdb file? I did. It doesn't
> contain any information regarding any types. That's the issue
> here.
I actually have a while back while trying to improve LDC's
CodeView output (for the object files, which is then bundled to a
.pdb by the linker).
For my little dummy example, I get this:
llvm-pdbutil.exe dump --type-stats current.pdb
Type Record Stats
============================================================
Types
Total: 11697 entries ( 560,936 bytes, 47.96
avg)
--------------------------------------------------------------------------
LF_FIELDLIST: 877 entries ( 197,188 bytes, 224.84
avg)
LF_CLASS: 643 entries ( 95,280 bytes, 148.18
avg)
LF_MFUNCTION: 2954 entries ( 82,712 bytes, 28.00
avg)
LF_STRUCTURE: 783 entries ( 70,584 bytes, 90.15
avg)
LF_ARGLIST: 1736 entries ( 30,104 bytes, 17.34
avg)
LF_POINTER: 2110 entries ( 25,320 bytes, 12.00
avg)
LF_PROCEDURE: 1179 entries ( 18,864 bytes, 16.00
avg)
LF_ENUM: 184 entries ( 17,932 bytes, 97.46
avg)
LF_METHODLIST: 410 entries ( 10,264 bytes, 25.03
avg)
LF_MODIFIER: 430 entries ( 5,160 bytes, 12.00
avg)
LF_ARRAY: 250 entries ( 4,000 bytes, 16.00
avg)
LF_UNION: 41 entries ( 2,320 bytes, 56.59
avg)
LF_BITFIELD: 88 entries ( 1,056 bytes, 12.00
avg)
LF_VTSHAPE: 12 entries ( 152 bytes, 12.67
avg)
And `llvm-pdbutil dump --types` does include my little E enum
with its 3 values, the S struct with its 2 fields...
0x1000 | LF_FIELDLIST [size = 28]
- LF_ENUMERATE [a = 0]
- LF_ENUMERATE [b = 1]
- LF_ENUMERATE [c = 2]
0x1001 | LF_ENUM [size = 28] `current.E`
field list: 0x1000, underlying type: 0x0074 (int)
options:
...
0x1006 | LF_FIELDLIST [size = 32]
- LF_MEMBER [name = `e`, Type = 0x1004, offset = 0,
attrs = public]
- LF_MEMBER [name = `arr`, Type = 0x1005, offset = 4,
attrs = public]
0x1007 | LF_STRUCTURE [size = 32] `current.S`
vtable: <no type>, base list: <no type>, field list:
0x1006
options: , sizeof 12
...
More information about the Digitalmars-d
mailing list