When compiling with g++, -fdump-class-hierarchy exports the program's vtables in a (more or less) human-readable format. However, the resulting file only contains information about the vtable but not about the class layout itself. I'd like to get a comprehensive list of the layout of all my program's classes.
clang offers the -cc1 -fdump-record-layouts arguments to achieve this. The MS compiler can be called using -d1reportAllClassLayout. Is there any g++ switch that does this?
If the program is compiled with debugging information, you can use pahole
to dump the struct and vtable layouts from the debugging information:
g++ -ggdb3 -c program.cpp
pahole program.o
Note that g++ will only generate debugging information for structs that are actually used within the program, so you may have to add some dummy functions to create or otherwise use objects of your struct types.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With