Program analyses debugger information file (PDB, so Microsoft Visual C++ only) and presents info about user defined structures (size, padding, cachelines, functions etc).
- You can filter by namespace, search for a specific symbol
- You can import a .csv with the instance count to get the total waste, the format should be "Class Name, Number of instances"
- You can compare two PDBs
- You search for useless vtables, useless virtual...
Original blog post: http://msinilo.pl/blog/?p=425
Note that you will need the msdia
classes to be registered. To do this:
-
Find the msdia DLL corresponding to the version of the compiler you used to build the application. -- If you have Visual Studio installed, this DLL can be found in "C:\Program Files (x86)\Microsoft Visual Studio \Common7\IDE", where corresponds to your compiler version (e.g. "12.0" for Microsoft Visual Studio 2013) -- If you don't have the compiler installed, download the appropriate "Microsoft Visual C++ Redistributable Package" and install it.
-
Open an elevated (admin) command prompt in the directory containing msdia.dll.
-
Manually register the DLL by typing "regsvr32 msdia.dll" (e.g. "regsvr32 msdia12.dll" for Visual Studio 2013)