1753645 Members
6004 Online
108798 Solutions
New Discussion юеВ

Re: PCA memory problems

 
Peter Hofman
Frequent Advisor

PCA memory problems

Hi all,

When using the Performance and Coverage Analyser for one of our applications, we get the following error:
%DEBUG-E-INTERR, debugger error in GETMEMORY\DBG$GET_MEMORY memory request too large or session corruption

We watched the quotas while running the application and saw no problems there.

The application has been compiled and linked with /DEBUG.
The application is started with a script like this :
$ define/job lib$debug sys$library:pca$collector.exe
$ define PCAC$DECW$DISPLAY " "
$ define PCAC$INIT STARTUP.PCAC
$ set def SYS$LOGIN
$ @start ! script to start the application

The contents of STARTUP.PCAC :
set datafile/append/executable
set language C
set coverage/previous/anc/stack_pcs program by line
go


Peter
7 REPLIES 7
Ian Miller.
Honored Contributor

Re: PCA memory problems

which version of PCA and which version of VMS?
____________________
Purely Personal Opinion
Peter Hofman
Frequent Advisor

Re: PCA memory problems

PCA version 4.6-6
VMS version 7.2-1
Ian Miller.
Honored Contributor

Re: PCA memory problems

Peter,
the SET COVERAGE command being used sets a breakpoint for every source line in the program and will use a large amount of memory. Try collecting coverage data module by module instead.
____________________
Purely Personal Opinion
Ian Miller.
Honored Contributor

Re: PCA memory problems

set coverage/... module by line
____________________
Purely Personal Opinion
Peter Hofman
Frequent Advisor

Re: PCA memory problems

Well, the point is that we use PCA in an automated test environment. The test builds the program and then a lot of tests are run. PCA is used to determine the code coverage of the tests.
Currently there is only the tests for one of the programs are not run because of the PCA error. With the tested programs we do not have this problem.
Peter Hofman
Frequent Advisor

Re: PCA memory problems

Ian thanks,

We now generate the initialisation file STARTUP.PCAC (see original post) with
SET COVERAGE/PREVIOUS/ANC/UNTIL=1 MOD BY LINE
for each module for which we want to get coverage data (libraries excluded).
To get the data we have to explicitly request the coverage data for a specific module with:
TAB /COVERAGE MOD BY LINE
We have seen the error only one or two times, when a lot of users were busy and the system load was quite high.

Now we have another question:
In the output all header files are printed, but they contain no coverage information.
It is about 1800 pages of useless information. This is in the output of only one module. The entire output for this module is 2300 pages!!!.

Is there anyway to disable the printing of header files in the output???
Ian Miller.
Honored Contributor

Re: PCA memory problems

Peter,
unfourtunally the debug symbol table that PCA (and the debugger) use contains line numbers for the source after the pre-processor has included all header files. The bad news is that nothing much can be done. The good news is that things are done differently on itanium VMS and its not a problem on that platform.
____________________
Purely Personal Opinion