C/C++ Dump Analysis
Overview
This 3 day course is designed to give an in depth knowledge of dump
analysis in the C/C++ environment. The course can be customised to
individual customer requirements by including customer dumps, listing
and build scripts in the notes and customer dumps for the
exercises.
Pre-requisites
The syllabus is designed for z/TPF developers who have prior z/TPF
Dump Analysis experience and understand the layout of a formatted
TPF dump. Students should ideally be proficient in coding
programs in C or C++.
Audience
Programmers who are required to read and analyse dumps from programs
written using C/C++ in a z/TPF environment
Student
Numbers
The
maximum recommended student to instructor ratio is 12:1
Objectives
By the end of the course, the delegates will be able, with the aid of
course notes to:
· List the Register usage within an C Shared Object (CSO)
· Identify the failing function, and its component within the CSO.
· Use the Listing and .mak output to identify the source code
instruction in error.
· Use the Listing to identify variables held in registers vs the stack.
· Locate function stacks within a dump and identify variable values
within the stack.
· Identify static variables and global variables in the static stack.
· Identify dump locations within a library function.
· List the different linkages and parameter lists used in C and C++
programs.
Course Outline
Introduction
|
Review
of a z/TPF dump and students current knowledge
|
C/C++
Listing
|
Breakdown
of a Listing
C/C++ Register Usage and Conventions
Understanding the Pseudo Assembler
Understanding the Epilog and Prolog
Function and Program Linkage
Compiling C and C++ - differences
|
CSO
Build
|
How
the CSO is built
Analyse the output from a CSO Build
The layout of the components
Identifying Static variables
Inlining of functions - understanding the listing
|
Review
a dump
|
Dump
Tags
Function stacks and their
layout
Identifying variable and parameter values
Using the Link Map information
Heap Storage and its Layout
Implications of different optimisation Levels
|
Exercises
|
Throughout
the class there are many exercises involving
both optimised and non-optimised dumps.
CTL-3
OPT-4
CTL-75
|
back to top
|