<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Comments on: Bugged by the Debugger- and Larger Issues</title>
	<atom:link href="http://www.rpgandprogramming.com/2010/05/bugged-by-the-debugger-and-larger-issues/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.rpgandprogramming.com/2010/05/bugged-by-the-debugger-and-larger-issues/</link>
	<description>Not Role Playing Games, but the RPG programming language and the craft of programming.</description>
	<pubDate>Mon, 21 May 2012 00:07:25 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.3</generator>
		<item>
		<title>By: Barbara Morris</title>
		<link>http://www.rpgandprogramming.com/2010/05/bugged-by-the-debugger-and-larger-issues/#comment-735</link>
		<dc:creator>Barbara Morris</dc:creator>
		<pubDate>Wed, 04 Jan 2012 23:30:10 +0000</pubDate>
		<guid isPermaLink="false">http://www.rpgandprogramming.com/?p=227#comment-735</guid>
		<description>Hi Curtis, I'm a bit late here, but I just ran across your blog. This behaviour isn't aimed at optimizing the debugger, it's aimed at optimizing the RPG program. If a field isn't used in the program, the compiler thinks there's no point in loading it from the input buffer.

The RPG/400 compiler didn't even generate those fields into the program. But for some reason, the ILE RPG compiler generates the fields (by default), and just doesn't load them during I specs. (Now you can code OPTION(*NOUNREF) to get the ILE RPG compiler to handle unreferenced fields like the RPG/400 compiler does.) Either way, it's going to give you a frustrating debugging experience, but I think the RPG/400 way is slightly less mysterious. When the field is not even available in the debugger, you don't have to spend any time trying to figure out how if there's some logic error that caused it to be blank.

By the way, the ILE RPG Programmer's Guide does attempt to document this situation. There's a section called "Unexpected Results when Evaluating Variables" http://publib.boulder.ibm.com/infocenter/iseries/v7r1m0/topic/rzasc/sc092507305.htm#wq488.</description>
		<content:encoded><![CDATA[<p>Hi Curtis, I&#8217;m a bit late here, but I just ran across your blog. This behaviour isn&#8217;t aimed at optimizing the debugger, it&#8217;s aimed at optimizing the RPG program. If a field isn&#8217;t used in the program, the compiler thinks there&#8217;s no point in loading it from the input buffer.</p>
<p>The RPG/400 compiler didn&#8217;t even generate those fields into the program. But for some reason, the ILE RPG compiler generates the fields (by default), and just doesn&#8217;t load them during I specs. (Now you can code OPTION(*NOUNREF) to get the ILE RPG compiler to handle unreferenced fields like the RPG/400 compiler does.) Either way, it&#8217;s going to give you a frustrating debugging experience, but I think the RPG/400 way is slightly less mysterious. When the field is not even available in the debugger, you don&#8217;t have to spend any time trying to figure out how if there&#8217;s some logic error that caused it to be blank.</p>
<p>By the way, the ILE RPG Programmer&#8217;s Guide does attempt to document this situation. There&#8217;s a section called &#8220;Unexpected Results when Evaluating Variables&#8221; <a href="http://publib.boulder.ibm.com/infocenter/iseries/v7r1m0/topic/rzasc/sc092507305.htm#wq488" rel="nofollow">http://publib.boulder.ibm.com/infocenter/iseries/v7r1m0/topic/rzasc/sc092507305.htm#wq488</a>.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Duke Normandin</title>
		<link>http://www.rpgandprogramming.com/2010/05/bugged-by-the-debugger-and-larger-issues/#comment-671</link>
		<dc:creator>Duke Normandin</dc:creator>
		<pubDate>Wed, 06 Oct 2010 21:39:59 +0000</pubDate>
		<guid isPermaLink="false">http://www.rpgandprogramming.com/?p=227#comment-671</guid>
		<description>Stumbled upon your blog, searching for an Oberon-2 tutorial. I'm 63, and teaching myself another computer language. ;)  How's *your* journey with Oberon-2 coming along?

I'm in the same boat as you - I *need* a project to sustain my interest in learning a language - learning *anything* actually. The desire to crank out interactive web-pages motivated me to learn Perl4 and then PHP and MySQL. I'm still searching for an Oberon-2 goal.

Enjoyed your blog!
--
Duke</description>
		<content:encoded><![CDATA[<p>Stumbled upon your blog, searching for an Oberon-2 tutorial. I&#8217;m 63, and teaching myself another computer language. <img src='http://www.rpgandprogramming.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  How&#8217;s *your* journey with Oberon-2 coming along?</p>
<p>I&#8217;m in the same boat as you - I *need* a project to sustain my interest in learning a language - learning *anything* actually. The desire to crank out interactive web-pages motivated me to learn Perl4 and then PHP and MySQL. I&#8217;m still searching for an Oberon-2 goal.</p>
<p>Enjoyed your blog!<br />
&#8211;<br />
Duke</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Buck</title>
		<link>http://www.rpgandprogramming.com/2010/05/bugged-by-the-debugger-and-larger-issues/#comment-637</link>
		<dc:creator>Buck</dc:creator>
		<pubDate>Tue, 01 Jun 2010 15:50:49 +0000</pubDate>
		<guid isPermaLink="false">http://www.rpgandprogramming.com/?p=227#comment-637</guid>
		<description>I'm not sure there ever was a single person who knew EVERYTHING about RPG, much less RPG II, RPG III, RPG/400 or ILE RPG.  Any suitably complex language/operating system combination has subtleties that are only revealed through experience.

That's one reason I keep adding to the Midrange wiki (http://wiki.midrange.com) - it can be pretty hard to find answers to questions like this.  The manual might document it, but finding the answer isn't always simple.  In this particular case, your instinct was correct: the H-specification keyword DEBUG is what you are after.  I tend to use DEBUG(*YES) which is equivalent to DEBUG(*INPUT: *DUMP)  That will show you unreferenced field contents.</description>
		<content:encoded><![CDATA[<p>I&#8217;m not sure there ever was a single person who knew EVERYTHING about RPG, much less RPG II, RPG III, RPG/400 or ILE RPG.  Any suitably complex language/operating system combination has subtleties that are only revealed through experience.</p>
<p>That&#8217;s one reason I keep adding to the Midrange wiki (http://wiki.midrange.com) - it can be pretty hard to find answers to questions like this.  The manual might document it, but finding the answer isn&#8217;t always simple.  In this particular case, your instinct was correct: the H-specification keyword DEBUG is what you are after.  I tend to use DEBUG(*YES) which is equivalent to DEBUG(*INPUT: *DUMP)  That will show you unreferenced field contents.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Curtis Barron</title>
		<link>http://www.rpgandprogramming.com/2010/05/bugged-by-the-debugger-and-larger-issues/#comment-635</link>
		<dc:creator>Curtis Barron</dc:creator>
		<pubDate>Tue, 01 Jun 2010 13:26:57 +0000</pubDate>
		<guid isPermaLink="false">http://www.rpgandprogramming.com/?p=227#comment-635</guid>
		<description>Ralf,

Thanks for your comment. Actually, the optimization level is the default, *NONE, which makes all of this even more puzzling. I'm still grappling with the concept that the debugger even needs to be optimized. It sure couldn't be for speed.</description>
		<content:encoded><![CDATA[<p>Ralf,</p>
<p>Thanks for your comment. Actually, the optimization level is the default, *NONE, which makes all of this even more puzzling. I&#8217;m still grappling with the concept that the debugger even needs to be optimized. It sure couldn&#8217;t be for speed.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ralf M Petter</title>
		<link>http://www.rpgandprogramming.com/2010/05/bugged-by-the-debugger-and-larger-issues/#comment-634</link>
		<dc:creator>Ralf M Petter</dc:creator>
		<pubDate>Tue, 01 Jun 2010 11:46:58 +0000</pubDate>
		<guid isPermaLink="false">http://www.rpgandprogramming.com/?p=227#comment-634</guid>
		<description>What is the optimization level of this programm. For debugging it is best to compile with optimization level *none. On other optimization levels variable content may be inacurate.</description>
		<content:encoded><![CDATA[<p>What is the optimization level of this programm. For debugging it is best to compile with optimization level *none. On other optimization levels variable content may be inacurate.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

