Worst Stack Size Report
- Bootstrap,
- JQuery,
- Font Awesome,
- VisJS.
These libraries are not provided. You need an Internet connection when you open the report. Otherwise, you need to download the libraries (.css and .js files), copy them in the same folder as your report's, and modify the template file as follows:
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.5.0/css/all.css" integrity="sha384-B4dIYHKNBt8Bc12p+WXckhzcICo0wtJAoU8YZTY5qE0Id1GSseTk6S+L3BlXeVIU" crossorigin="anonymous">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/vis/4.21.0/vis.min.css">
…
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/vis/4.21.0/vis.js"></script>
<link rel="stylesheet" href="./bootstrap.min.css>
<link rel="stylesheet" href="./all.css">
<link rel="stylesheet" href="./vis.min.css">
…
<script src="./jquery-3.3.1.slim.min.js"></script>
<script src="./popper.min.js"></script>
<script src="./bootstrap.min.js"></script>
<script src="./vis.js"></script
Summary
- Worst Stack Size per Entry Point table
- Total Stack Size vs. Maximum Stack Size graph
In the toolbar that is under the graph, you can select the information to display or hide (all entry points, or for only one thread) and the number of control flows in the table. You can also show or hide the graph in the report from a button.
Details
- The control flow, for example, the successive functions starting from an entry point (any function that is never called by another one is considered as an entry point) to a function with no call, or to an external function. Each function is identified by its name, its module (example: C file) between brackets, and by the line and column where this call to the next function calls appear in the code in parenthesis.
- The estimation of the Stack Size. The information is blank if the tool has not been able to calculate the Stack Size for this control flow. In this case, the functions in the control flow that prevent us from computing the Stack Size are highlighted in red.
A drop down menu at the top of the table allows you to choose 10, 20, 30, 50, 100 or all the control flows to display.
Functions
- The module name (i.e. the C file) where the function is saved.,
- The function name. This name is in red if there is no stack information for this function,
- The number of functions called in the current one.
- The Stack Size of the function in bytes.
Call Graph
The Call Graph part displays all the functions as an interactive call graph from left to right or from the top to the bottom, depending on the selector button position on the top of the call graph.
You can select a control flow in the table to highlight it in the call graph.