Am 23.01.2015 um 02:53 schrieb Sam Siegel:
On Jan 22, 2015 4:53 PM, "Charles Mills" <charl...@mcn.org> wrote:
Ah, thanks. I keep forgetting that. Oddly named manual, IMHO.

Anyway, I don't think I have a CIB. I think this condition is totally
internal to C++ -- not an LE "condition."

Please take at least a quick look at the le manuals.   As you know the
c/c++ stack is implemented on top of le.

Also le implements a full set of try/catch semantic that work across le
enabled languages.   The c/c++ try/catch may be built on top of that.


I would like to second that;

I don't know it, but I believe (!!) that try / catch in C++ should be implemented in such a way that a true LE condition is thrown, that is then caught be "catch".
I believe, you simply don't see it in your CEEDUMP, because the traceback
that is implemented there starts at a level that is too high (above the level
where the exception occured).

And for the other question regarding CIB_MACHINE:

IMO, the pointer CIB_MACHINE does not point anywhere outside the CIB structure, but is marks a position inside the CIB, because the EPIE structure, which is the "classical" outcome of a program interruption as a consequence of a ESPIE macro call (PIE = program interruption exit), is part of the CIB = included in the CIB.

And:

if __le_traceback is really AMODE 64, I would try two different things:

a) do the traceback myself, using a C variant of the ASSEMBLER logic I already
have in my dump analysis software (which may be hard for you), or

b) dont know, if this is possible, but maybe you can switch to AMODE 64,
before calling the __le_traceback routine? Maybe LE even has routines to do that?

HTH

Kind regards

Bernd

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

Reply via email to