Objectives:
Normally, every routine which has not returned to its caller will have a stack frame. Each stack frame normally contains the parameters passed to a routine, the return address for the routine, and the data which is local for that routine.
Start the dump formatter just as before, on the same dump.
Questions:
SS ________ SSLIM _______
next stack frame ________ return offset ________ selector ________
Many analysts will follow the entire chain of stack frames before going to the system or application documentation to find the names of the routines involved, and the line numbers. Others choose to go back and forth, and put in the routine names and line numbers for each frame as they go.
The application documentation will tell you where variables are stored. Remember that each routine uses its own stack frame, so be certain to use the numeric value rather than the register name 'BP' to look at local data for routines other than the failing one.
If you display from SP to BP-2, or ESP to EBP-4, you will see the entire local data for the routine using the current stack frame. This can be quite nice for locating the individual variables.
Find the routine which failed by looking at the .MAP file.
Find the line number that failed by looking next at the .COD file.
The following variables are involved in the failure: 'npr' and 't'. their locations can be found in the .COD file.
Find the location of npr,________ then display its value ________
Find the location of t,________ then display its value ________
You may want to look at the call to the failing routine, before going away to find the programmer.