I don't have an example in front of me (not enough S0C4's lately <g>) so I can't talk specifics but I am generally very happy with the CEEDUMP and find it quite satisfactory. My C++ is exclusively AMODE 31 (with some assembler subroutines using SAM64) so I suspect your problems are due to the somewhat "tiptoeing into the water" nature of the AMODE 64 support. I would open a ticket with IBM. Even if the storage pointed to by Rx is invalid the contents of Rx is always valid and potentially extremely useful, even necessary, in problem resolution. I think you have a reportable problem on its face value never mind what underlying problems there may be: "GPR's not formatted correctly in dump."
Are you XPLINK or standard linkage? Any *possibility* that you have overlaid the stacked save areas in your code? R12:R15 = 404040... looks mighty suspicious to me. Charles -----Original Message----- From: IBM Mainframe Discussion List [mailto:[email protected]] On Behalf Of Janet Graff Sent: Thursday, August 25, 2016 12:12 PM To: [email protected] Subject: Re: Dump in 64 bit mode "Storage around GPR2 is invalid." Here's an example Parameters, Registers, and Variables for Active Routines: main (DSA address 00000048082FEA20): DOWNSTACK DSA Saved Registers: GPR0..... **************** GPR1..... **************** GPR2..... ***************** GPR3..... **************** GPR4..... 00000048082FEA20 GPR5..... BBBBBBBBBBBBBBBB GPR6..... 000000001AC0E618 GPR7..... 00000048082FF2C8 GPR8..... 0000000000000005 GPR9..... 0000000000000000 GPR10.... 0000000000000001 GPR11.... 0000000000000004 GPR12.... 4040404040404040 GPR13.... 4040404040404040 GPR14.... 4040404040404040 GPR15.... 4040404040404040 ... GPREG STORAGE: Storage around GPR0 is invalid. Storage around GPR1 is invalid. Storage around GPR2 is invalid. Storage around GPR3 is invalid. Storage around GPR4 (00000048082FEA20) +0800 00000048082FF220 00000048 082FF260 00000048 08600060 |......2-.. I have XGR'd GPR2 and GPR3 before the abend and GPR5 definitely does not contain a bunch Beees. The program was compiled using xlc on the USS side. The other issue I have is that the top of stack is not my main() so the PSW and "Storage dump near condition, beginning at location" is of CEEHDSP instead of main so I can't see what instruction in my program caused the abend. I assume the registers are modified up stack which is why I can't see them. Can I get the dump at the actual abend location? ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
