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
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
to help. Thanks in advance.