windows - Få funktionsargumenter fra PDB-filen

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg forsøger at bruge output fra Dia2Dump til at opdage funktionernes argumenter indeholdt i de offentlige symboler for PDB-filer. Nogle af de fjernede funktionsnavne indeholder den fulde funktions signatur, men andre gør det ikke. [3]


Når jeg f.eks. Ser Dia2Dump-output for ucrtbase.pdb (PDB-filen til ucrtbase.dll, som indeholder Windows 'C Runtime Library'), vil nogle linjer som f.eks.


PublicSymbol: [00095A34][0001:00094A34] ?validate\_and\_update\_state\_at\_beginning\_of\_format\_character@?$positional\_parameter\_base@\_WV?$console\_output\_adapter@\_W@\_\_crt\_stdio\_output@@@\_\_crt\_stdio\_output@@IEAA\_NXZ(protected: bool \_\_cdecl \_\_crt\_stdio\_output::positional\_parameter\_base<wchar\_t,class \_\_crt\_stdio\_output::console\_output\_adapter<wchar\_t> >::validate\_and\_update\_state\_at\_beginning\_of\_format\_character(void) \_\_ptr64)


indeholde de fulde demanglede funktions signaturer, men andre linjer som strcmp:


PublicSymbol: [0001F8C0][0001:0001E8C0] strcmp(strcmp)


Har ikke nogen funktionsargumentoplysninger.


Er der nogen anden måde at indsamle funktionsargumentoplysninger fra PDB-filer?

Bedste reference