Skip to content

Analyze an APP to find large Modules and Procedures. Find Procedures not used. See Imports, Exports, File List.

License

Notifications You must be signed in to change notification settings

CarlTBarnes/APP-Splitter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

APP-Splitter

Analyze an APP to find large Modules and Procedures

Specify your Project Folder and APP name. The Target name is that of the EXE or DLL that is normally the same, but can be different as shown. Check the box for Debug or Release. Click the Load All button.

AppPick

The Modules tab lists the Module CLW files, their size, Procedure Count and Procedure names. The size of the OBJ (object code) and RSC (resource e.g. window) files from the OBJ folder are show to give and idea of the compiled size of the modules as compared to the CLW size is the source code text. Click the column headings to sort. Normally you'll sort by size to work on the largest.

ModulesTab

The Procedures tab lists all the procedures and their module. Click on the MAP size column to sort the largest procedures to the top. The MAP size is calculated using the Procedure's starting address in the Linker MAP file, and the address of the next symbol. If a Procedure shows Zero for size that would indicate it was not found in the MAP (see MAP Size tab to be sure). The Smart Linker removes any procedures that are not called nor exported. You could probably delete those.

An external procedure will show the DLL name in the Map Size column. If the external is not used it will show blank, i.e. it was declared in the Clw Map but was not called so does not appear in the Linker .MAP Imports section.

ProcsTab

The MAP Size tab shows the parsed Linker Map. This is used to estimate Procedure size based on start and end address. The MAP only lists Start Address. I assume the address of the next "thing" ends the previous procedure, this may not always be correct but is a reasonable estimate.

MapSize

The MAP Imports tab shows the LIB's imported by this APP and the Procedures Imported. This was from the Linker Map Imports section.

Imports

Shown during the ClarionLive Open Webinar April 28, 2021 at time 37:20

About

Analyze an APP to find large Modules and Procedures. Find Procedures not used. See Imports, Exports, File List.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published