home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!ittc!fitch
- From: fitch@ittc.wec.com (Ken Fitch)
- Newsgroups: comp.os.vms
- Subject: PCA limitation / Unix "strip" for VMS
- Keywords: PCA,strip
- Message-ID: <418@ittc.wec.com>
- Date: 24 Jan 93 18:15:02 GMT
- Sender: news@ittc.wec.com
- Organization: Westinghouse Electric Corp., ITTC, Pgh. PA.
- Lines: 125
-
- The DECset Performance & Coverage Analyzer (PCA) is having trouble
- digesting an executable with a large number of debug symbols.
- When run it gives the message:
-
- =================================================================
- /user/krf/appr_bm> run testexec_pca
-
- VAX PCA Collector Version V4.0-80
-
- PCAC> g
- %PCA-E-INCDST, incorrect DST nesting in module RPDINIT. Datafile not set.
- %PCA-I-NODATACOL, exiting with no data collection phase
- =================================================================
-
- (Note that the pathname prompt simply betrays my Unix orientation.)
-
- When I say large executable, I mean (output cleaned up a little to
- minimize linewrap):
-
-
- USER3:[USER.KRF.APPR_BM]TESTEXEC_PCA.EXE;1 24-JAN-1993 11:53 VAX-11 Linker V05-13 Page 182
-
- +----------------+
- ! Image Synopsis !
- +----------------+
-
- Virtual memory allocated: 00000200 00FA81FF 00FA8000 (16416768. bytes, 32064. pages)
- Stack size: 20. pages
- Image header virtual block limits: 1. 3. ( 3. blocks)
- Image binary virtual block limits: 4. 19221. (19218. blocks)
- Image name and identification: TESTEXEC_PCA 01
- System component mask: 00000010
- SYS$K_VERSION_PROCESS_SCHED 1,80
- Number of files: 35.
- Number of modules: 820.
- Number of program sections: 877.
- Number of global symbols: 2282.
- Number of image sections: 95.
- User transfer address: 00D6E000
- Debugger transfer address: 00F6162F
- Number of address fixups: 60040.
- Number of code references to shareable images: 72.
- Image type: EXECUTABLE.
- Map format: DEFAULT in file USER3:[USER.KRF.APPR_BM]TESTEXEC_PCA.MAP;63
- Estimated map length: 1231. blocks
- +---------------------+
- ! Link Run Statistics !
- +---------------------+
-
- Performance Indicators Page Faults CPU Time Elapsed Time
- ---------------------- ----------- -------- ------------
- Command processing: 615 00:00:04.41 00:00:08.01
- Pass 1: 1452 00:00:11.72 00:02:39.97
- Allocation/Relocation: 537 00:00:00.28 00:00:00.41
- Pass 2: 121712 00:02:12.56 00:08:24.92
- Map data after object module synopsis: 1333 00:00:02.46 00:00:04.54
- Symbol table output: 50 00:00:00.08 00:00:00.71
- Total run values: 125699 00:02:31.51 00:11:18.56
-
- Using a working set limited to 60000 pages and 137972 pages of data storage (excluding image)
-
- Total number object records read (both passes): 141276
- of which 69547 were in libraries and 60481 were DEBUG data records containing 46019172 bytes
- 40943406 bytes of DEBUG data were written,starting at VBN 19785 with 26975 blocks allocated
-
- Number of modules extracted explicitly = 0
- with 747 extracted to resolve undefined symbols
-
- 2461 library searches were for symbols not in the library searched
-
- A total of 55 global symbol table records was written
-
- LINK/DEBUG/MAP=TESTEXEC_PCA/EXE=TESTEXEC_PCA.EXE/DEBUG=SYS$LIBRARY:PCA$OBJ.OBJ
- TESTEXEC.OBJ,SETPAM.OBJ,TESTEXEC_PATCHES.OBJ,SIM$INC:[SIMEXEC]SIMEXEC/OPT,
- SIM$INC:[DATAPOOL]CLUSTERS_NOSHR/OPT,SIM$INC:[DATAPOOL]PSECT_MOD/OPT,
- LEVEL_:LINK_LIBRARIES/OPT,LEVEL_:GSMATCH/OPT,
- USER3:[USER.KRF.APPR_BM]DEFAULTS.OLB/LIBRARY
-
- ====================================================================================
-
-
- The description of this error in the documentation says to submit
- an SPR to DEC if the same module works with the regular debugger.
- It seems to (I can "set module" to the module PCA complains about
- if I use the normal debugger), and in any case, if I substitute
- a null version of that program,
- PCA simply complains about another one. This implies that I'm
- simply bumping up against some limit in PCA. This may or may
- not be fixable, but I'd rather not wait months or years for a fix.
-
- The application which I'm trying to use PCA on is still growing
- (it's in a development phase), so we'd still like to
- have all the symbols in the subroutines for debugging purposes.
- It takes a long time to recompile everything, so I'd rather not
- do that if I can avoid it.
-
- What I'd like to find out is:
-
- - is there a known workaround for the PCA problem?
-
- - is there something I can specify to LINK to tell it
- to ignore debug symbols for a _subset_ of library modules?
-
- - is there a VMS equivalent of the Unix "strip" command
- that I can apply to object files? (Ideally, this
- would also work on an object library on a selective
- basis.) For what I'm doing with PCA, I can "a priori"
- determine that many of the modules don't need debug
- symbols. By giving PCA less to cope with, I could
- presumably work around the problem.
-
- - could I create my own equivalent of "strip" by somehow
- setting the count of debug symbols in the object module
- header (or wherever) to zero? If this is feasible, can
- someone recommend a good starting point so I don't have
- to develop this from scratch?
-
- Thanks in advance,
-
- Ken Fitch, fitch@ittc.pgh.wec.com
- --
- Kenneth R. Fitch
- fitch@ittc.wec.com
- uunet!ittc!fpb
- (412)733-6435
-