|
A long time away, i've tried some king of a source debugger (not for MI) and
didn't use addbkp, but the trace function which support a user exit pgm for
each trace step.
And fortunatly it support to add trace either at hll level ('*ALL') or at MI
level ('*ALLINST')
Something like that :
ADDTRC STMT(*ALLINST) TRCPGM(MYDBGPGM)
HTH
Jean-Michel Penasse
EXPERIA Europe
jmpenasse@xxxxxxxxxxx
+33(0)4.76.67.07.70
www.experia.com
> -----Original Message-----
> From: mi400-bounces@xxxxxxxxxxxx [mailto:mi400-bounces@xxxxxxxxxxxx]On
> Behalf Of Richard Hart
> Sent: Thursday, October 09, 2003 8:43 PM
> To: mi400@xxxxxxxxxxxx
> Cc: Richard C. Hart
> Subject: [MI400] Mi Source Debugger
>
>
> To all:
>
> I read with interest the posts about the MI emulator. Not that I
> would ever remotely attempt such a thing (nervous laugh) or want
> to, but because of the interesting background information. I
> had, for some time, assumed that older versions of OS/400 were
> essentially written in MI, and newer versions in C++. I guess
> that's approximately correct?
>
> Anyway, I am working on an MI source debugger program, just as an
> interesting project. Not w r i t t e n in MI, but for the
> purposed of d e b u g g i n g MI. Sadly, programming is really
> now more a hobby for me than a vocation, since I am going into a
> different field. But I digress.
>
> Most of the usual debugger functions ("Find", "Set Breakpoint",
> etc.) didn't present too much of a problem. But, the "Single
> Step" exececution function is a big hurdle. It s h o u l d of
> course, cause the program to run exactly one MI instruction and
> then stop at the next instruction. If a branch instruction is
> encountered, such as "CmpBla(b) FieldA, FieldB / Eq
> (Equal-Branch-Point);", the program should stop at
> Equal-Branch-Point if the branch is in fact taken. This is what
> I cannot figure out how to do!
>
> My stab at "emulating" this function was to set a breakpoint at
> the NEXT sequential MI instruction from the instruction at which
> the program is currently stopped, then let the program continue
> to run (and stop at the next instruction). This of course works
> fine when the instruction stream is in fact executed perfectly in
> sequence, but of course that is often not the case, program
> branching being the "MI way" to support an IF/ELSE construct.
>
> SO: I hope I have explained the little problem clearly. Does
> anyone know how IBM does this, for example in the (OPM) "Start
> Source Debugger" (STRISDB) product. It obviously is possible. I
> thought about setting breakpoints for ALL instructions in the
> program. That would be overkill worthy of a politician (not
> saying which flavor)!
>
> Thanks,
>
> Rich Hart
>
> _______________________________________________
> This is the MI Programming on the AS400 / iSeries (MI400) mailing list
> To post a message email: MI400@xxxxxxxxxxxx
> To subscribe, unsubscribe, or change list options,
> visit: http://lists.midrange.com/mailman/listinfo/mi400
> or email: MI400-request@xxxxxxxxxxxx
> Before posting, please take a moment to review the archives
> at http://archive.midrange.com/mi400.
>
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 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.