Why does my program behave differently when ran with PCA?
One of the following conditions probably exists:
- Uninitialized stack variables
- Dependence on memory above SP
- Assumptions about memory allocation
Cases 1 and 2 occur because PCA comes in as a handler and uses
the stack above the user program's stack. Consequently, the
stack is manipulated in ways that are different than when run
without PCA. Although this is unlikely to happen, compiler code
generation bugs have caused this sort of behavior.
Case 3 above occurs because PCA now lives in the process memory
space and requests memory by means of SYS$EXPREG. PCA requests a
large amount of memory at initialization to minimize the altering
of memory allocation, but this still may happen.
PCA may have a bug where it is smashing the stack or the random
user memory. HP appreciates your input because these bugs are
hard to track down, and because they have been known to come and
go based on the order of modules in a linker options file.
HP recommends that you try the following:
- Try GO/NOCOLLECT. If the program malfunctions, it's your LINK
with PCA.
- Try a run with simple PC sampling only. PC sampling is the
least likely mode for bugs. If your program malfunctions,
the problem probably lies with your program. If your program
doesn't malfunction, the problem probably lies with PCA.
If you are still convinced that PCA is changing the behavior of
your program:
If you have a support contract, contact your HP support
representative. Otherwise, contact your HP account representative
or your authorized reseller.
When reporting a problem, please include the following
information:
o The versions of PCA and of the OpenVMS operating system being
used.
o As complete a description of the problem as possible, trying
not to overlook any details.
o The problem reduced to as small a size as possible.
o If the problem is with the collector:
- Does the program run GO/NOCOLLECT?
- Does the program run with the OpenVMS debugger?
- If Counters, Coverage, or Events are involved, does the
program behave properly when breakpoints are put in the
same locations with the OpenVMS debugger?
- Please supply the version of the compiler(s) used.
- Files needed to build the program, including build
procedures.
o If the problem is with the Analyzer:
- The .PCA file involved
- The sources referenced by the .PCA file
- A PCA initialization file to reproduce the problem.
o All file should be submitted on machine-readable media
(magnetic tape `*preferred`*, floppy diskette, or tape
cassette).
o Any stack dumps the occurred, if applicable.