Closed graemekelly closed 1 year ago
Seems like the compiler (understandably) keeps adding new record kinds/types for new(er) C++ language features, with these record kinds not being documented anywhere.
We'll check if we can find out the type or reach out to MSFT for this,
In the meantime, if you're interested in optimizing PDB sizes, simply only run the ExamplePDBSize for now and comment the rest.
Actually, just ran into a different repro for the same error:
namespace
{
class base
{
};
class derived1 : virtual public base
{
};
}
int main()
{
derived1 temp;
return 0;
}
Virtual inheritance is the trigger here (obviously not needed in this instance) - was trying to find a repro for another error I'm getting with one of the other examples (will post a separate ticket if I figure it out).
0x1179
is S_REGREL32_ENCTMP
, should be same-ish to S_REGREL32
Thanks @JustasMasiulis for chiming in once again.
May I ask where you get that information from? Is there public information on this, is there another project on GitHub we aren't aware of, or do you work for Microsoft :) ?
May I ask where you get that information from?
Reverse engineering of DIA.
Is there public information on this.
Nope, although finding out what the undocumented values are is not that hard.
is there another project on GitHub we aren't aware of, or do you work for Microsoft :) ?
I'm not affiliated with Microsoft.
I've fixed this issue in https://github.com/MolecularMatters/raw_pdb/pull/63
I'm getting the above error when running the examples through ExampleFunctionVariables(). This trivial sample will reproduce it:
It's struggling with the variables used in the structured bindings. I can't find any documentation on 0x1179, and can't seem to figure out what it is. Any ideas?
It only happens if I try to examine a debug build, release works fine. It was last night's Twitter post about looking at pdb sizes that piqued my interest 😄
(I'm using Visual Studio 2022 version 17.7.3 here, Platform Toolset v143 - haven't been able to check other versions)