Memory Profiling for C and C++
Run-time memory errors and leaks are among the most difficult errors to locate and the most important to correct. The symptoms of incorrect memory use are unpredictable and typically appear far from the cause of the error. The errors often remain undetected until triggered by a random event, so that a program can seem to work correctly when in fact it's only working by accident.
That's where the Memory Profiling feature can help you.
You associate Memory Profiling with an existing test node or application code.
You compile and run your application.
The application with the Memory Profiling feature, then directs output to the Memory Profiling Viewer, which provides a detailed report of memory issues.
Memory Profiling uses Source Code Insertion Technology for C and C++.
Because of the different technologies involved, Memory Profiling for Java is covered in a separate section.
When an application node is executed, the source code is instrumented by the C or C++ Instrumentor (attolcpp or attolcc1). The resulting source code is then executed and the Memory Profiling feature outputs a static .tsf file for each instrumented source file and a dynamic .tpf file.
These files can be viewed and controlled from the Test RealTime GUI. Both the .tsf and .tpf files need to be opened simultaneously to view the report.
Of course, these steps are mostly transparent to the user when the test or application node is executed in the Test RealTime GUI or Eclipse (for C and C++).
To learn about |
See |
Performing Memory Profiling on C and C++ source code |
|
How Memory Profiling for C and C++ works |
|
Rational's Source Code Insertion technology |
|
Rational's JVMPI technology for Java memory analysis |
|
Understanding Memory Profiling Reports |
|
Using the Memory Profiler Viewer |
|
Customizing the Memory Profiling Viewer |
Related Topics
Memory Profiling Settings | Runtime Analysis | Memory Profiling for Java