[Info-vax] hung program location

Bob Koehler koehler at eisner.nospam.encompasserve.org
Mon Feb 18 18:32:00 EST 2013


In article <f0482c25-2864-43f1-9590-96dba35d314f at ia3g2000vbb.googlegroups.com>, Tom Adams <w.tom.adams at gmail.com> writes:
> I can see the PC and SP where a program is hung using SHOW PROC/CONT.
> 
> How can I relate that to a link map to figure out where the process is
> hung in the program that it is running?
> 
> The process is running an installed shared image
> 
> This is VMS 7.3-2 on an alpha
> 
> Thanks.

   If you posted the value, it would already give us a hint at how to
   help you.

   The link map from building the program will contain something near the 
   PC if it is part of your code.  If the address is in system space, then 
   the OS link map will contain it, but you probably don't have a copy.
   There are other ways to find it.

   If the address is in a library, the library boundaries could show
   up on the link map.  Depends on whether you did a full map, IIRC.

   Most likely, the PC is in system space, since system routines actually
   implement program waits.  System space values would most likely be 
   between FFFFFFFF80000000 and FFFFFFFFFFFFFFFF, and certainly above
   8000000000000000.

   If the program state is COM, or is changing, then some of the time
   the PC may be pointing to your code.  Look for an address below
   000000007FFFFFFF.

   VMS programs are broken into program sections, and you want to look
   for your PC in the code program section.  Look for $CODE$ on an Alpha
   link map.

   Most likely the exact value won't be there.  If it's your code, there 
   will be a slightly smaller value, and the difference is the offset
   into the routine that starts at that smaller value.

   If you compile with a listing file and include the machine code, you
   can find that offset in your code and relate it to a line of code.

   If you did not generate compiler listings and full maps when you
   built the code, you can generate them now, if you have exactly the
   same source, are using the same versions of compilers, and use exactly 
   the same qualifiers that you did when the program was built, except 
   adding the listing, machine code, map, and full qualifiers.




More information about the Info-vax mailing list