× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



A PEX data collection will give you all the information you are after, then use PDI or your own SQL to list off the exectution list. It will even show MI layer if you need it.


--
Jim Oberholtzer
Agile Technology Architects

-----Original Message-----
From: RPG400-L <rpg400-l-bounces@xxxxxxxxxxxx> On Behalf Of Robert Rogerson
Sent: Monday, December 03, 2018 6:50 PM
To: rpg400-l@xxxxxxxxxxxx
Subject: IBM Trace Utility (Was How to display which debug views are available.)

Hi all,

I have a working prototype of my trace utility working by calling the Debugger APIs. The problem is that for a very large program the trace may take several minutes.

Mark Waterbury suggested I look at IBM's trace utilities.

I wanted to trace program execution for program BF2100 and here is how I ran it..

- Add a traced filter

ADDTRCFTR FTR(BF2100FLT) PGMFTR(*EQ ((BF2100)))

- Start the trace

STRTRC SSNID(*GEN) JOBTRCTYPE(*ALL) TRCFTR(BF2100FLT)

- End the trace

ENDTRC SSNID(*PRV) DTALIB(TSXROB)

I checked all the files it created but didn't see anything that looked like HLL statements or flow. There is a lot of data created but it all seems to be at a lower level than a HLL language (in this case RPG).

Does anyone know if IBM's trace utilities can be used to expose program execution at a HLL language level?

The major reason I'm investigating this avenue is that IBM's trace utility runs so much faster than my trace utility using debugging APIs.

I just don't want to be working on developing a utility and using the wrong tool.

Thanks,

Rob

On 12/2/2018 10:39 AM, Robert Rogerson wrote:
Thanks Bruce, Jon and Mark (who replied off list).

To give a little background on what I'm doing. I'm writing a trace
utility for tracing program execution. As you(s) mentioned I do this
by calling the Debugger APIs. When I call the QteRetrieveModuleViews
and the *LISTING, *SOURCE or *COPY views are not available I can not
"trace" the execution of this module.

I was wondering if there was a way, before calling the
QteRetrieveModuleViews in my trace utility, to check if I should even
attempt to trace the program or give the user a message that the
program needs to be recompiled with DBGVIEW(*LIST/*SOURCE/*COPY)

Wait, Vern just replied...

Thanks,

Rob

On 12/2/2018 10:00 AM, Jon Paris wrote:
Bruce beat me to it - the debug APIs are the way to go. That is what
RDi uses under the hood.

There's a decent explanation of the way all the APIs fit together
here:
https://www.ibm.com/support/knowledgecenter/en/ssw_ibm_i_72/apiref/ap
iexusdeb.htm
<https://www.ibm.com/support/knowledgecenter/en/ssw_ibm_i_72/apiref/a
piexusdeb.htm> that is for 7.2 but nothing has changed as far as I
know. Penton published an article years ago showing how to use these
to retrieve source from a program compiled with listing view - sadly
that has gone th way of all of their content.


Jon Paris

www.partner400.com
www.SystemiDeveloper.com

On Dec 2, 2018, at 9:47 AM, Bruce Vining <bruce.vining@xxxxxxxxx>
wrote:

I am currently not connected to an i (though working on it) so I
can't say that I've used it, but you may want to take a look at the
Retrieve Module Views (QteRetrieveModuleViews) API
<https://www.ibm.com/support/knowledgecenter/en/ssw_ibm_i_73/apis/QTERTVMV.htm>.

The documentation indicates that this API returns (along with a
whole lot of other things):

View type. The type of view. The view type can be one of the
following
values:
**TEXT* This is a view where text comes from files or text supplied
by the processor.
**LISTING* This is a view where text comes entirely from text
supplied by the processor.
**STATEMENT* This is a view consisting of statement identifiers. All
modules have a statement view.

Bruce

On Sun, Dec 2, 2018 at 8:41 AM Robert Rogerson
<rogersonra@xxxxxxxxx> wrote:

Brian is correct. I'm trying to find if the object itself has an
indication of the available debug views without entering debug. So
far I haven't found on Google nor the IBM site indicating if this
is possible. I was hoping that someone on this list may know of a
way.

Thanks,

Rob

On 12/2/2018 7:02 AM, Brian Parkins wrote:
Indeed. But Rob's original question was how to find this out
_without_ initiating a debug session in RDi or STRDBG. Any ideas?

Brian.

On 01/12/2018 22:34, Marvin Radding wrote:
Enter debug and press F15. It will show a list of the view
available.

Thanks,

Marvin
No trees were killed in the sending of this message, but a large
number of electrons were terribly inconvenienced, traumatized,
triggered, and crying for their safe spaces.

-----Original Message-----
From: RPG400-L [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf
Of Brian Parkins
Sent: Saturday, December 01, 2018 1:43 PM
To: RPG programming on the IBM i (AS/400 and iSeries)
<rpg400-l@xxxxxxxxxxxx>
Subject: Re: How to display which debug views are available.

I think Paul is suggesting the use of the DSPPGM command. Press
ENTER until the *MODULE detail panel is displayed, then type
option 5).
against the Module(s).

However, this shows only,
Debug data . . . . . . . . . . . . . . . . . . : *YES

- and doesn't answer Rob's question. How to tell WHICH debug
views, (*LISTING, SOURCE, etc.) are available. DSPPGM does not
provide this information, as Rob has already discovered.

I've no idea how you would find this out without initiating a
debug session in RDi or STRDBG. The System APIs don't appear to
help either.

Brian.

On 01/12/2018 21:04, Steinmetz, Paul wrote:
DSPPGM
Then
5=Display description

Paul

-----Original Message-----
From: RPG400-L [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf
Of Robert Rogerson
Sent: Saturday, December 01, 2018 3:48 PM
To: RPG programming on the IBM i / System i
Subject: How to display which debug views are available.

Hi all,

Can I tell from an object which is already created which debug
views are available?

I understand that when creating an object you may specify which
debug views (*LISTING, *SOURCE, *COPY) you wish to make
available. But if the object (in my case a program) has already
been created how do I tell which views are available. I've
tried dsppgm but I don't see any view information. The only way
I've found is through starting debug on the program and pressing
F15=Select view .

Thanks,

Rob

--
This is the RPG programming on the IBM i (AS/400 and iSeries)
(RPG400-L) mailing list To post a message email:
RPG400-L@xxxxxxxxxxxx To subscribe, unsubscribe, or change list
options,
visit: https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx Before posting, please
take a moment to review the archives at
https://archive.midrange.com/rpg400-l
.

Please contact support@xxxxxxxxxxxx for any subscription related
questions.

Help support midrange.com by shopping at amazon.com with our
affiliate link: https://amazon.midrange.com
Notice: This e-mail transmission may contain information that is
proprietary, privileged and/or confidential and is intended
exclusively for the person(s) to whom it is addressed. This
message may also contain Protected Health Information (PHI) and
must be treated confidentially and handled in accordance with
HIPAA and other federal and state privacy laws. Any use, copying,
retention or disclosure by any person other than the intended
recipient or the intended recipient's designees is strictly
prohibited. If you are not the intended recipient or their
designee, please notify the sender immediately and delete this
e-mail (and any accompanying attachments).
--
This is the RPG programming on the IBM i (AS/400 and iSeries)
(RPG400-L)
mailing list
To post a message email: RPG400-L@xxxxxxxxxxxx To subscribe,
unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx Before posting, please take
a moment to review the archives at
https://archive.midrange.com/rpg400-l.

Please contact support@xxxxxxxxxxxx for any subscription related
questions.

Help support midrange.com by shopping at amazon.com with our
affiliate
link: https://amazon.midrange.com


--
Thanks and Regards,
Bruce
931-505-1915
--
This is the RPG programming on the IBM i (AS/400 and iSeries)
(RPG400-L) mailing list
To post a message email: RPG400-L@xxxxxxxxxxxx To subscribe,
unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx Before posting, please take
a moment to review the archives at
https://archive.midrange.com/rpg400-l.

Please contact support@xxxxxxxxxxxx for any subscription related
questions.

Help support midrange.com by shopping at amazon.com with our
affiliate link: https://amazon.midrange.com
--
This is the RPG programming on the IBM i (AS/400 and iSeries) (RPG400-L) mailing list To post a message email: RPG400-L@xxxxxxxxxxxx To subscribe, unsubscribe, or change list options,
visit: https://lists.midrange.com/mailman/listinfo/rpg400-l
or email: RPG400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives at https://archive.midrange.com/rpg400-l.

Please contact support@xxxxxxxxxxxx for any subscription related questions.

Help support midrange.com by shopping at amazon.com with our affiliate link: https://amazon.midrange.com


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.