Hi, 

Assuming simple things like library list were already checked and not
the root cause, then if you are repeatedly recompiling your program and
attempting to debug a new copy of it (and had already debugged a
previous copy of the program in that job), you will need to log out and
log into a new job in order to debug the new recompiled version of the
object.

Once a copy of a program is brought in to your job's activation group,
the system will keep using that copy until the activation group ends,
even if the object is replaced. The system will continue to use the copy
of the old program (normally it's placed in library QRPLOBJ) and if that
copy is somehow deleted, you end up with an MCH error saying 'Tried to
refer to all or part of an object that no longer exists'.

One way around this is to start a *NEW activation group before
debugging. This can be done either by compiling your program as *NEW
(dangerous if you are likely forget to change it later once the program
works) or by using a simple CL program compiled as *NEW to call the
program you are trying to debug. Then, debug the program, and on the way
out, when the program that started the *NEW group leaves the call stack,
the activation group will end. Do this in between each recompile and
debug attempts. 

If you run the program in the default activation group or a named
activation group that isn't specifically ended, then you have to log off
and on again in between each recompile and debug in order to get the old
copy of the object out of your process. 

Thanks,

Genyphyr Novak

 

----------------------------------------------------------------------

message: 1
date: Thu, 1 Jun 2006 02:11:41 +0200
from: "Boris" <bbresc512@xxxxxxxxxx>
subject: [C400-L] Debugging

Hi All
I have a program which is called from a main program by the "system" 
function:
system("CALL PGMNAME");
Does anybody know why the debugger doesn't stop on a breakpoint set in
the PGMNAME? I have no problem to stop in the calling program. I tried
to compile the called program with Activation group *caller but it
didn't seem to help.

Thanks in advance. 



------------------------------

message: 2
date: Wed, 31 May 2006 16:22:16 -0700
from: "Gary Monnier" <gary.monnier@xxxxxxxxxxxxx>
subject: Re: [C400-L] Debugging

Your library list may not contain the program you placed the breakpoint
in.  Try adding the library for the "PGMNAME" with the breakpoint to the
top of your library list.



-----Original Message-----
From: c400-l-bounces+gary.monnier=powertech.com@xxxxxxxxxxxx
[mailto:c400-l-bounces+gary.monnier=powertech.com@xxxxxxxxxxxx] On
Behalf Of Boris
Sent: Wednesday, May 31, 2006 5:12 PM
To: c400-l@xxxxxxxxxxxx
Subject: [C400-L] Debugging


Hi All
I have a program which is called from a main program by the "system" 
function:
system("CALL PGMNAME");
Does anybody know why the debugger doesn't stop on a breakpoint set in
the PGMNAME? I have no problem to stop in the calling program. I tried
to compile the called program with Activation group *caller but it
didn't seem to help.

Thanks in advance. 

--
This is the C programming iSeries / AS400 (C400-L) mailing list To post
a message email: C400-L@xxxxxxxxxxxx To subscribe, unsubscribe, or
change list options,
visit: http://lists.midrange.com/mailman/listinfo/c400-l
or email: C400-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives at
http://archive.midrange.com/c400-l.





------------------------------

message: 3
date: Thu, 1 Jun 2006 06:30:07 -0500
from: mailman@xxxxxxxxxxxx
subject: [C400-L] Guidelines for C400-L mailing list

Monthly posting of the guidelines for participation in the C/400
Language
Mailing List.

Keep to the subject.  The topic of the list is C and C++ Programming on
and
for the AS/400. This includes programming on other platforms in C/C++
when
it RELATES to the AS/400.  Eg: Considerations of Sockets programming
from
Windows to the AS/400 using MSVC & ILE/C is allowed and encouraged.  How
to
manipulate a ClistView object in the Windows world is not allowed.

When quoting messages, do not quote the entire message.  Just quote the
parts that are needed to make the appropriate references.

Flames are absolutely prohibited.  If you disagree with someone, feel
free to argue the facts, but no personal attacks will be tolerated.

The official language of the C/400 Programming Mailing List is English.

Do not post personal messages.  Please use direct E-Mail.  This list is
international in scope and personal messages just end up costing money.

Please do not use HTML to format messages ... not everyone has a HTML
enabled message reader and the extra text can (and does) cause some
mail readers to truncate messages.

Advertising products or services (including press releases) are strictly
prohibited.  Also, if you have a solution that will specifically help
another participant, feel free to tell that person.  And finally, if you
are a vendor, please identify yourself as such... do not try to pass
yourself off as a user of your own products (even if you are).

Employment related discussions are off-topic in this technical
discussion
forum.  Please restrict abstract employment discussion to MIDRANGE-L and
specific employment discussion to MIDRANGE-JOBS.

By posting to this mailing list, you are granting MIDRANGE dot COM and
David Gibbs (david@xxxxxxxxxxxx) non-exclusive, unlimited, rights to 
republish its contents.

This list IS copyrighted as a compilation.  Republication of this
mailing 
list, for anything other than personal use, without the explicit
permission 
of the list owner is a violation of U.S.  Copyright Law and will be
dealt 
with as such.

Collecting or "Mining" of email address from this forum, or any related
web archive, is strictly and explicitly prohibited (not to mention that
it is extraordinarily unprofessional).

To subscribe, unsubscribe, or change mailing list options, please vist
http://lists.midrange.com/mailman/listinfo/C400-L

Violation of the above guidelines will be determined by the moderator
and will result either a) The offending party will be forced to make
major modifications to a 10 year old, matching records, RPG II program
that uses every available indicator or b) permanent disconnection from
the conference (you decide which is worse).

If you have questions or comments about these guidelines, please feel
free to contact the moderator, Bob Crothers, via internet e-mail at
c400-l-owner@xxxxxxxxxxxxx

MIDRANGE dot COM is a non-commercial organization and is not connected
with any corporation, periodical, or commercial enterprise.  For more
information, send Internet E-Mail to INFO@xxxxxxxxxxxxx




------------------------------

message: 4
date: Thu, 01 Jun 2006 07:16:13 -0700
from: Dave McKenzie <davemck@xxxxxxxxxxxxx>
subject: Re: [C400-L] Debugging

Is this the debugger that you start with STRDBG?

Does the system statement execute?  If you put a breakpoint on the 
system statement, does that stop?

You could do TRCJOB to see if the called program executes at all.

--Dave

Boris wrote:
Hi All
I have a program which is called from a main program by the "system" 
function:
system("CALL PGMNAME");
Does anybody know why the debugger doesn't stop on a breakpoint set in
the 
PGMNAME? I have no problem to stop in the calling program. I tried to 
compile the called program with Activation group *caller but it didn't
seem 
to help.

Thanks in advance. 



------------------------------


This thread ...


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

This mailing list archive is Copyright 1997-2019 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].