Analyzing run-time behavior

Technical tips

This section describes certain problems that may arise when you use lprof and how to avoid them.

Trouble at run time

You may get no data after running a profiled program. The program terminates normally, and you receive neither a message about data being saved or an error message. This may be caused by one of three problems:

Finally, you may see the locale's equivalent of the following error message at the end of execution:

   INFO: Dumping profiling data from process `a.out' . . .
   ERROR: Cannot find symbol table section in ./a.out.
Usually this is caused by running a stripped version of a profiled program. Never strip files to be profiled. If necessary, change makefiles so that they do not produce stripped files.

Data File cannot be found

Occasionally, you may not be able to find the data file, despite the fact that the profiled program has terminated normally and you have received a message saying that the data file has been created.

The profiled program creates the data file in the directory in which the program is located when it terminates. If the program changes directories during execution, the data file may be created in a directory different from both the directory in
which you executed the program and the directory in which the shell is located when the program terminates.

Use the dir option of PROFOPTS to specify exactly where the data file is to be created so you will be able to find it.

Next topic: Using prof
Previous topic: Profiling C++ programs with lprof

© 2005 The SCO Group, Inc. All rights reserved.
SCO OpenServer Release 6.0.0 -- 02 June 2005