Skip to content

Image Info

cristitep-nxp edited this page Mar 13, 2023 · 3 revisions

Image Info

A visual utility used to display static function callgraph, memory usage and memory content over a provided build artifact (i.e. executable, library, object file).

Additionally, if the build stage is set to provide stack usage information (i.e. .su files generated by --fstack-usage option in gcc compiler), the generated callgraph will also display local and global consumed stack plus source location of the symbol from graph. You have following options to load a file into Image Info view:

  1. Choose a project which already has a built configuration target and use "Load Current Build Artifact Selection" button from this view's toolbar.

File Explorer

  1. Choose an existing build artifact file (executable, object or library file) and choose "Image Info" option from its context menu.

File Explorer

Once loaded, the view will display two trees: Callgraph and Memory:

Image info view

Callgraph

Callgraph displays all the function calls in a tree, also displaying additional information:

  • Run address
  • Depth of call
  • Static or dynamic allocation
  • Local and global cost (stack allocation)

If a recursive call is identified, the callgraph only displays the second occurrence and marks it with "Recursive" message:

Recursive Call

Memory

Memory tree displays the identified memories (only for executable, not for object files) with several information:

  • Start and end addresses
  • Size of the memory
  • Occupied and free space plus usage information as %

Each memory contains sections and then symbols, all of them containing various information like:

  • Run address
  • Load address (only available if map file is available in project)
  • Occupied size

NOTE: Some difference might appear comparing sum of all symbols in a section and the size of used space in that section. This is because simply summing symbols is not taking into account padding and alignments.

Toolbar options

Once an image is loaded into this view, you have several other options in toolbar for:

  • Refresh. Note that refresh operation will consider a built image from the last file selection.

Refresh

  • Sort symbols by name

Sort by name

  • For Callgraph only: sort ascending or descending by local or global stack consumption (cost)

Sort by cost

  • For C++ only: set to display symbols as mangled or demangled form

Demangled

  • Collapse all the expanded nodes.

Collapse

  • Option to strip or to keep assembly symbols from Callgraph. By default, assembly symbols are removed from Callgraph. The symbols are considered as "assembly" if the user is using -fstack-usage to generate stack usage information for the symbols from C/C++ sources, but some symbols from disassembled application are not found in this generated stack usage information.

Asm stripping

home

Clone this wiki locally