Ever wondered why your exe-File got so big after all the time you worked on it? Well, for that reason the map-file actually exists, but it’s not really easy to understand. Lines and lines of non-human-readable lines of debug text…
Wouldn’t it be great if there was a tool to parse it? That was at least what I was thinking. After searching and not finding anything the answer either was “There is not tool” or “You don’t know how to search”. Positively thinking it was the first I started making my own parser for map-files, so here’s the result of my short work to quickly find unnecessary units in my application.
The tool (called DSMapParser) is quite simple in what it’s doing. You compile your project with a map file and open the map-file in the Map Parser.
The parser than (surprise!) parses the map-file and groups every file by its namespace. The result is a quite nice overview of all the units that bloat your application.
- Grab the latest release from the github repository: https://github.com/delphi-sucks/DSMapParser/releases
- Extract it and use it! That simple!
Before you can actually use the map-parser you probably need to adjust some settings in your project to generate a map-file:
- Go to your project options: Project > Options
- Navigate to “Delphi-Compiler > Linking”
- Change the setting “Map-File” to “Segments”
Ensure that you have changed the options in your corresponding release-configuration.
After changing these settings your compiler creates beside your .exe-file also a .map-file, which can be used by the Map-Parser.
Parse your Map-File with the DSMapParser to find out why your application is so bloated.