3

I am writing a utility to exploit above-the-bar memory. I would like to dump the memory segments that I have allocated to help with debugging. SNAP and SNAPX refer to 24 and 31 bit addressing modes, but not 64. Forcing an abend using an ABEND macro or decimal zero divide provide very limited amounts of above the bar memory in the dump. Does anyone have experience dumping above-the-bar memory in 64 bit addressing mode? Do you have suggestions?

I was able to access the information using the IEATDUMP macro. Thanks for your interest and responses.

  • 1
    The `ABEND` macro with the `DUMP` parameter should show dumpable areas associated with the task. Perhaps you can elaborate more. What over-the-bar areas is the current ABEND macro _not_ showing? – meat Dec 03 '18 at 14:49
  • Have you tried allocating a SYSMDUMP DD and examining the contents with IPCS after you abend? (I haven't tried this, and am not in a position to do so, it's just a suggestion) – cschneid Dec 03 '18 at 14:59
  • 1
    Are you trying to grab memory and format it for diagnostics while the utility is running or dumping memory when the utility fails and would like to ensure you have all diagnostic information in the dump? – Hogstrom Dec 03 '18 at 17:49
  • 1
    I see you found IEATDUMP, but the real solution is SDUMPX with the "LIST64" parameter...it lets you dump a range of 64-bit memory objects to a dataset of your choice. Note also that a lot depends on how the 64-bit objects are allocated...if you use "LIKECSA", then they will be dumped automatically any time CSA is dumped, so SDATA=CSA will get you these types of objects without you needing to code anything. – Valerie R Dec 06 '18 at 20:38

1 Answers1

0

I would recommend taking a slip dump and importing the dump into Abend-Aid. Abend-Aid is great for above-the-bar debugging.

  1. Execute the slip command below.

  2. Once it dumps, type 'TSO DUMPLOG' on the command line and copy the dump dataset.

  3. Open Abend-Aid, type 'imp' on the command line and import the dump dataset.

Slip Command Example:

SL SET,IF,EN,ID=CBB0,P=(MYPROGRAM,000328),A=SVCD,AL=(CU,S),E Where MYPROGRAM is the name of the job and 000328 is the offset in the program when I want a dump.

Note, this command is executed in SDSF

Bitcon
  • 141
  • 1
  • 6