![]() |
![]() HP OpenVMS Systemsask the wizard |
![]() |
The Question is: Dear Sir I wriiten the application on DEC C version 5.6 and the application crashed because of ACCVIO and it also reported the real PC and abs PC. From both PC , do I have any way to know which line of codes cause the error. Regards Seng Chanlertlakha The Answer is : Sir? You do realize you could be making potentially unwarranted assumptions with that phrasing, correct? But the Wizard digresses. Based on the compiler listings file(s) and the linker map (that you should have) requested when you built the image, you can convert the process virtual address into the errant line of source code. To do this: first, use the virtual address in conjunction with the linker map to locate the modules involved. Then use the process virtual address and the base address of the section containing it in the linker map to determine the relative address of the failing assembler code in the compiler listings module. Next, use the line numbers that tag the assembler code to back-locate the line of compiled C code that generated the failing assembler instruction. The OpenVMS debugger is also a powerful and very useful tool here. Additionally, the process dump capabilities of OpenVMS can potentially be used here as well.
|