----- Original Message -----
From: "Leif Svalgaard" <leif@leif.org>
> >
>
> my standard question: how does this help you? what are you trying to do?
>
>

Specifically, I am using the heap quite a bit in my work. A bug has surfaced
where individual heap allocations ( ALCHSS ) are being corrupted somehow. As
the pgm runs, somehow data is being written into the allocation area that
should not be written.

I want to run my pgm in trace mode and trap the instruction which is writing
to a specific heap allocation ( an address range ).

So the plan is to:
1. StrDbg
2. AddTrc  stmt(*AllInst)  TraceHandlingPgm( TracePlus )
3. TracePlus is called for every instruction executed in the pgm.
4. It uses MATINAT to materialize the instruction being executed.
5. MATINAT returns the opcode of the instruction and info on each
instruction operand.
6. Instruction operand info contains the data defn of the operand and a ptr
to its value.
7. The ptr to the operand value will be compared to the address range that I
am trapping. Any reference within the range will sound an alarm and report
to the user in bold letters that the bug has been found.

So far the MATINAT instruction works as I understand it.  One problem:  It
cannot be used in a trace of a pgm in a batch job.

-Steve Richter





As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.