<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://m204wiki.rocketsoftware.com/index.php?action=history&amp;feed=atom&amp;title=Selectively_excluding_source_code_blocks</id>
	<title>Selectively excluding source code blocks - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://m204wiki.rocketsoftware.com/index.php?action=history&amp;feed=atom&amp;title=Selectively_excluding_source_code_blocks"/>
	<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=Selectively_excluding_source_code_blocks&amp;action=history"/>
	<updated>2026-05-08T23:15:13Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=Selectively_excluding_source_code_blocks&amp;diff=119428&amp;oldid=prev</id>
		<title>Ekern at 02:21, 7 January 2023</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=Selectively_excluding_source_code_blocks&amp;diff=119428&amp;oldid=prev"/>
		<updated>2023-01-07T02:21:08Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 02:21, 7 January 2023&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l62&quot;&gt;Line 62:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 62:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;span class=&amp;quot;f_CodeExList3&amp;quot;&amp;gt;!debugger exclude routine MyMethod &amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;span class=&amp;quot;f_CodeExList3&amp;quot;&amp;gt;!debugger exclude routine MyMethod &amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;: &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;gt;&lt;/del&gt;Or:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;: Or:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** &amp;lt;span id=&amp;quot;use_proc_list&amp;quot; class=&amp;quot;hmanchor&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_ListBul3&amp;quot;&amp;gt;Use the &amp;lt;/span&amp;gt;&amp;lt;var&amp;gt;Edit Include Proc List&amp;lt;/var&amp;gt;&amp;lt;span class=&amp;quot;f_ListBul3&amp;quot;&amp;gt; or &amp;lt;/span&amp;gt;&amp;lt;var&amp;gt;Edit Include Routine List&amp;lt;/var&amp;gt;&amp;lt;span class=&amp;quot;f_ListBul3&amp;quot;&amp;gt; buttons on the &amp;lt;/span&amp;gt;&amp;lt;var&amp;gt;Proc Selection&amp;lt;/var&amp;gt;&amp;lt;span class=&amp;quot;f_ListBul3&amp;quot;&amp;gt; page to provide a list of the procedures or a list of the routines you want to exclude: &amp;lt;/span&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** &amp;lt;span id=&amp;quot;use_proc_list&amp;quot; class=&amp;quot;hmanchor&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_ListBul3&amp;quot;&amp;gt;Use the &amp;lt;/span&amp;gt;&amp;lt;var&amp;gt;Edit Include Proc List&amp;lt;/var&amp;gt;&amp;lt;span class=&amp;quot;f_ListBul3&amp;quot;&amp;gt; or &amp;lt;/span&amp;gt;&amp;lt;var&amp;gt;Edit Include Routine List&amp;lt;/var&amp;gt;&amp;lt;span class=&amp;quot;f_ListBul3&amp;quot;&amp;gt; buttons on the &amp;lt;/span&amp;gt;&amp;lt;var&amp;gt;Proc Selection&amp;lt;/var&amp;gt;&amp;lt;span class=&amp;quot;f_ListBul3&amp;quot;&amp;gt; page to provide a list of the procedures or a list of the routines you want to exclude: &amp;lt;/span&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Ekern</name></author>
	</entry>
	<entry>
		<id>https://m204wiki.rocketsoftware.com/index.php?title=Selectively_excluding_source_code_blocks&amp;diff=119148&amp;oldid=prev</id>
		<title>Ekern: Created page with &quot;__TOC__ &lt;span class=&quot;f_Para&quot;&gt;The User Language Macro Facility statements called &lt;/span&gt;&#039;&#039;&#039;Debugger directives&#039;&#039;&#039;&lt;span class=&quot;f_Para&quot;&gt; let you exclude one or more blocks of sou...&quot;</title>
		<link rel="alternate" type="text/html" href="https://m204wiki.rocketsoftware.com/index.php?title=Selectively_excluding_source_code_blocks&amp;diff=119148&amp;oldid=prev"/>
		<updated>2022-11-10T05:15:26Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;__TOC__ &amp;lt;span class=&amp;quot;f_Para&amp;quot;&amp;gt;The User Language Macro Facility statements called &amp;lt;/span&amp;gt;&amp;#039;&amp;#039;&amp;#039;Debugger directives&amp;#039;&amp;#039;&amp;#039;&amp;lt;span class=&amp;quot;f_Para&amp;quot;&amp;gt; let you exclude one or more blocks of sou...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;__TOC__&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Para&amp;quot;&amp;gt;The User Language Macro Facility statements called &amp;lt;/span&amp;gt;&amp;#039;&amp;#039;&amp;#039;Debugger directives&amp;#039;&amp;#039;&amp;#039;&amp;lt;span class=&amp;quot;f_Para&amp;quot;&amp;gt; let you exclude one or more blocks of source code or entire  procedures, methods, or User Language routines from interactive debugging. &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Para&amp;quot;&amp;gt;“Excluding” code from interactive debugging means:&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;span class=&amp;quot;f_ListBul1&amp;quot;&amp;gt;The excluded code is &amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;term&amp;quot;&amp;gt;not&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_ListBul1&amp;quot;&amp;gt; displayed in the Debugger &amp;lt;/span&amp;gt;&amp;lt;var&amp;gt;Source Code&amp;lt;/var&amp;gt;&amp;lt;span class=&amp;quot;f_ListBul1&amp;quot;&amp;gt; tab, nor are the excluded source code lines sent from the mainframe to the client. &amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;span class=&amp;quot;f_ListBul1&amp;quot;&amp;gt;You may &amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;term&amp;quot;&amp;gt;not&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_ListBul1&amp;quot;&amp;gt; step through or set breakpoints in the excluded code. &amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;span class=&amp;quot;f_ListBul1&amp;quot;&amp;gt;Excluded statements are &amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;term&amp;quot;&amp;gt;not&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_ListBul1&amp;quot;&amp;gt; shown in the results of Debugger execution tracing or statement history displays. &amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;span class=&amp;quot;f_ListBul1&amp;quot;&amp;gt;However, the excluded code &amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;term&amp;quot;&amp;gt;is&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_ListBul1&amp;quot;&amp;gt; executed normally (there is no difference in the runtime evaluation of the request), and the &amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_Product&amp;quot;&amp;gt;Janus Debugger&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_ListBul1&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;var&amp;gt;Audit Trail&amp;lt;/var&amp;gt;&amp;lt;span class=&amp;quot;f_ListBul1&amp;quot;&amp;gt; and &amp;lt;/span&amp;gt;&amp;lt;var&amp;gt;Web Buffer&amp;lt;/var&amp;gt;&amp;lt;span class=&amp;quot;f_ListBul1&amp;quot;&amp;gt; tabs will show output from excluded statements.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Para&amp;quot;&amp;gt;This feature is useful both for tidying your source code display (removing non-pertinent sections of code) and for decreasing the download time of source code sent from the mainframe to the Client.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Para&amp;quot;&amp;gt;The Debugger directives have the following format: &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;f_CodeExample&amp;quot;&amp;gt;!debugger &amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;term&amp;quot;&amp;gt;directive&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_CodeExample&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Para&amp;quot;&amp;gt;Where &amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;term&amp;quot;&amp;gt;directive&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_Para&amp;quot;&amp;gt; may be one of the following: &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;f_MonoBold&amp;quot;&amp;gt;exclude on &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_MonoBold&amp;quot;&amp;gt;exclude off &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_MonoBold&amp;quot;&amp;gt;exclude proc &amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_MonoBoldItalic&amp;quot;&amp;gt;pname_or_pattern&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_MonoBold&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_MonoBold&amp;quot;&amp;gt;exclude routine &amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_MonoBoldItalic&amp;quot;&amp;gt;rname_or_pattern&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_MonoBold&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_MonoBold&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_MonoBold&amp;quot;&amp;gt;include on &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_MonoBold&amp;quot;&amp;gt;include off &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_MonoBold&amp;quot;&amp;gt;include proc &amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_MonoBoldItalic&amp;quot;&amp;gt;pname_or_pattern&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_MonoBold&amp;quot;&amp;gt;include routine &amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_MonoBoldItalic&amp;quot;&amp;gt;rname_or_pattern&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_MonoBold&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_SimpleList&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;term&amp;quot;&amp;gt;Within&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_Para&amp;quot;&amp;gt; excluded code you can specify blocks of lines that will &amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_EmphBold&amp;quot;&amp;gt;not&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_Para&amp;quot;&amp;gt; be excluded and will be presented for debugging; for example, an important subroutine or method. You indicate such non-excluded blocks by &amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_Monospace&amp;quot;&amp;gt;Include&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_Para&amp;quot;&amp;gt; directives. &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Para&amp;quot;&amp;gt;As described in [[Selectively excluding source code blocks#Using Init Exclude mode|Using the code exclude feature in its normal mode]], Debugger Exclude and Include directives are also implied and invoked if you use the buttons in the &amp;lt;/span&amp;gt;&amp;lt;var&amp;gt;Exclude Parts of Programs from Debugging&amp;lt;/var&amp;gt;&amp;lt;span class=&amp;quot;f_Para&amp;quot;&amp;gt; section on the &amp;lt;/span&amp;gt;&amp;lt;var&amp;gt;Proc Selection&amp;lt;/var&amp;gt;&amp;lt;span class=&amp;quot;f_Para&amp;quot;&amp;gt; page to specify lists of procedures or lists of subroutines or methods to exclude/include. &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Para&amp;quot;&amp;gt;As described in [[Selectively excluding source code blocks#Using Init Exclude mode|Using Init Exclude mode]], another approach to debugging a small block of code within a larger excluded block is to invert the way the code exclude feature operates: Instead of including all code from the beginning of the request until an Exclude directive, the &amp;amp;quot;Init Exclude&amp;amp;quot; variation of the feature initially excludes all code from the beginning until an Include directive. You invoke Init Exclude mode from a Client menu item or command (or mapped button or hot key).&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Para&amp;quot;&amp;gt;User Language Macro Facility statements, which start with an exclamation character (!), are described in the Model  204 wiki. &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Using the code exclude feature in its normal mode ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Para&amp;quot;&amp;gt;In any single compilation unit (BEGIN statement to END), you may exclude as many as 300 blocks of code from debugging, and within excluded blocks, you may designate as many as 300 blocks of code that will not be excluded.  A block may be a designated group of code lines or a named routine or procedure.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Para&amp;quot;&amp;gt;To exclude code: &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
1. &amp;lt;span class=&amp;quot;f_ListNum1&amp;quot;&amp;gt;Enable Debugger directives. By default, the feature is not enabled (no code is excluded from debugging). &amp;lt;/span&amp;gt;&lt;br /&gt;
: a. &amp;lt;span class=&amp;quot;f_ListNum2&amp;quot;&amp;gt;From the Client &amp;lt;/span&amp;gt;&amp;lt;var&amp;gt;File&amp;lt;/var&amp;gt;&amp;lt;span class=&amp;quot;f_ListNum2&amp;quot;&amp;gt; menu, select the &amp;lt;/span&amp;gt;&amp;lt;var&amp;gt;Preferences&amp;lt;/var&amp;gt;&amp;lt;span class=&amp;quot;f_ListNum2&amp;quot;&amp;gt; option. &amp;lt;/span&amp;gt;&lt;br /&gt;
: b. &amp;lt;span class=&amp;quot;f_ListNum2&amp;quot;&amp;gt;In the &amp;lt;/span&amp;gt;&amp;lt;var&amp;gt;Display Options&amp;lt;/var&amp;gt;&amp;lt;span class=&amp;quot;f_ListNum2&amp;quot;&amp;gt; section of the &amp;lt;/span&amp;gt;&amp;lt;var&amp;gt;Preferences&amp;lt;/var&amp;gt;&amp;lt;span class=&amp;quot;f_ListNum2&amp;quot;&amp;gt; dialog, select the &amp;lt;/span&amp;gt;&amp;lt;var&amp;gt;Use !debugger directives&amp;lt;/var&amp;gt;&amp;lt;span class=&amp;quot;f_ListNum2&amp;quot;&amp;gt; option: &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:preferences22i_zoom50.gif|500x343px|preferences22i]]&amp;lt;span class=&amp;quot;f_ListContinue2&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2. &amp;lt;span class=&amp;quot;f_ListNum1&amp;quot;&amp;gt;In your source code, specify an Exclude&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_ListContinue&amp;quot;&amp;gt; directive to indicate the code to be excluded from debugging: &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;span class=&amp;quot;f_ListBul2&amp;quot;&amp;gt;To exclude any block of consecutive lines, indicate the beginning of the block to be excluded: &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;f_CodeExList2&amp;quot;&amp;gt;!debugger exclude on &amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: This statement must appear between a BEGIN and END statement; it may not be used at command level. &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;span class=&amp;quot;f_ListBul2&amp;quot;&amp;gt;To exclude a particular procedure, or the code that defines a method or subroutine: &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
** &amp;lt;span class=&amp;quot;f_ListBul3&amp;quot;&amp;gt;Use the appropriate keyword and case insensitive name in the directive. You can also use wildcards (described below) to form a name pattern. Also, for a method or User Language subroutine, use &amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_Monospace&amp;quot;&amp;gt;routine&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_ListBul3&amp;quot;&amp;gt;: &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;f_CodeExList3&amp;quot;&amp;gt;!debugger exclude proc MyProc*&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_CodeExList3&amp;quot;&amp;gt;!debugger exclude routine MyMethod &amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: &amp;gt;Or:&lt;br /&gt;
&lt;br /&gt;
** &amp;lt;span id=&amp;quot;use_proc_list&amp;quot; class=&amp;quot;hmanchor&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_ListBul3&amp;quot;&amp;gt;Use the &amp;lt;/span&amp;gt;&amp;lt;var&amp;gt;Edit Include Proc List&amp;lt;/var&amp;gt;&amp;lt;span class=&amp;quot;f_ListBul3&amp;quot;&amp;gt; or &amp;lt;/span&amp;gt;&amp;lt;var&amp;gt;Edit Include Routine List&amp;lt;/var&amp;gt;&amp;lt;span class=&amp;quot;f_ListBul3&amp;quot;&amp;gt; buttons on the &amp;lt;/span&amp;gt;&amp;lt;var&amp;gt;Proc Selection&amp;lt;/var&amp;gt;&amp;lt;span class=&amp;quot;f_ListBul3&amp;quot;&amp;gt; page to provide a list of the procedures or a list of the routines you want to exclude: &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:procselect4a_zoom55.gif|412x284px|procSelect4a]]&amp;lt;span class=&amp;quot;f_ListContinue3&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: These buttons open a blank &amp;lt;span class=&amp;quot;f_Monospace&amp;quot;&amp;gt;excludeProc.txt&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_ListContinue3&amp;quot;&amp;gt; or &amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_Monospace&amp;quot;&amp;gt;excludeRoutine.txt&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_ListContinue3&amp;quot;&amp;gt; file in Microsoft&amp;#039;s &amp;lt;/span&amp;gt;&amp;lt;var&amp;gt;Notepad&amp;lt;/var&amp;gt;&amp;lt;span class=&amp;quot;f_ListContinue3&amp;quot;&amp;gt; or in your [[Using a local editor|local editor]]. In the files, you specify&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_Para&amp;quot;&amp;gt; the items you want to exclude, observing &amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_ListContinue3&amp;quot;&amp;gt;the following syntax rules: &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;span class=&amp;quot;f_ListBul4&amp;quot;&amp;gt;One entry per line &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;span class=&amp;quot;f_ListBul2&amp;quot;&amp;gt;Leading and trailing blanks are ignored&amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;span class=&amp;quot;f_ListBul2&amp;quot;&amp;gt;Case matching is insensitive&amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;span id=&amp;quot;wildcard&amp;quot; class=&amp;quot;hmanchor&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_ListBul4&amp;quot;&amp;gt;Wildcard matching using &amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_ListBul5&amp;quot;&amp;gt;asterisk &amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_ListBul4&amp;quot;&amp;gt;(*), &amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_ListBul5&amp;quot;&amp;gt;question mark &amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_ListBul4&amp;quot;&amp;gt;(?), and &amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_ListBul5&amp;quot;&amp;gt;double quote &amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_ListBul4&amp;quot;&amp;gt;(&amp;amp;quot;) is allowed (see [[Running to a specific procedure#Shortcuts for specifying procedure names |Shortcuts for procedure names]]) &amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;span class=&amp;quot;f_ListBul3&amp;quot;&amp;gt;Blank lines are ignored &amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;span class=&amp;quot;f_ListBul3&amp;quot;&amp;gt;Any line starting with a number sign (#) is treated as a comment &amp;lt;/span&amp;gt;&lt;br /&gt;
: After you Save and Exit the file(s), click the &amp;lt;var&amp;gt;Reload Proc/Routine/Method Lists&amp;lt;/var&amp;gt;&amp;lt;span class=&amp;quot;f_ListContinue3&amp;quot;&amp;gt; button to make the file content known to the Client. Equivalent to using this button is the &amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_Monospace&amp;quot;&amp;gt;[[reloadLists command|reloadLists]]&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_ListContinue3&amp;quot;&amp;gt; Client command.&amp;lt;/span&amp;gt;&lt;br /&gt;
: The &amp;lt;var&amp;gt;Use Proc Lists for exclude/include&amp;lt;/var&amp;gt;&amp;lt;span class=&amp;quot;f_ListContinue3&amp;quot;&amp;gt; and &amp;lt;/span&amp;gt;&amp;lt;var&amp;gt;Use Routine Lists for exclude/include&amp;lt;/var&amp;gt;&amp;lt;span class=&amp;quot;f_ListContinue3&amp;quot;&amp;gt; checkboxes enable and suspend the feature. They are selected by default. &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039;&amp;lt;span class=&amp;quot;f_ListContinue3&amp;quot;&amp;gt; Whether or not you select these checkboxes does &amp;lt;/span&amp;gt;&amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039;&amp;lt;span class=&amp;quot;f_ListContinue3&amp;quot;&amp;gt; affect Debugger recognition of any !debugger directives you specify in source code outside of these lists. Such directives are controlled only by the &amp;lt;/span&amp;gt;&amp;lt;var&amp;gt;Use !debugger directives&amp;lt;/var&amp;gt;&amp;lt;span class=&amp;quot;f_ListContinue3&amp;quot;&amp;gt; option.&amp;lt;/span&amp;gt;&lt;br /&gt;
: Your checkbox selections are remembered in subsequent Client sessions.&lt;br /&gt;
&lt;br /&gt;
3. &amp;lt;span class=&amp;quot;f_ListNum1&amp;quot;&amp;gt;If excluding a block of lines (that is, not a named procedure or routine), indicate the last line to exclude. &amp;lt;/span&amp;gt;&lt;br /&gt;
: From the e&amp;#039;&amp;#039;&amp;#039;xclude on&amp;#039;&amp;#039;&amp;#039; directive, source code lines are excluded until the first of the following is encountered: &lt;br /&gt;
&lt;br /&gt;
* &amp;lt;span class=&amp;quot;f_ListBul2&amp;quot;&amp;gt;A &amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_MonoBold&amp;quot;&amp;gt;!debugger exclude off&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_ListBul2&amp;quot;&amp;gt; statement &amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;span class=&amp;quot;f_ListBul2&amp;quot;&amp;gt;The end of the compilation (END statement is reached) &amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;span class=&amp;quot;f_ListBul2&amp;quot;&amp;gt;The end of the procedure that contains the starting &amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_MonoBold&amp;quot;&amp;gt;exclude on&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_ListContinue&amp;quot;&amp;gt; directive&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_ListBul2&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;span class=&amp;quot;f_ListBul2&amp;quot;&amp;gt;An Include directive (described next)&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4. &amp;lt;span class=&amp;quot;f_ListNum1&amp;quot;&amp;gt;Indicate (with Include blocks) any lines &amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;term&amp;quot;&amp;gt;within the excluded code&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_ListNum1&amp;quot;&amp;gt; that you do &amp;lt;/span&amp;gt;&amp;#039;&amp;#039;&amp;#039;not&amp;#039;&amp;#039;&amp;#039;&amp;lt;span class=&amp;quot;f_ListNum1&amp;quot;&amp;gt; want to be excluded: &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;term&amp;quot;&amp;gt;If a (non-named) block of lines:&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_ListContinue&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: a. &amp;lt;span class=&amp;quot;f_ListNum2&amp;quot;&amp;gt;Specify an&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_ListContinue&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_MonoBold&amp;quot;&amp;gt;include on&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_ListContinue&amp;quot;&amp;gt; directive to &amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_ListNum2&amp;quot;&amp;gt;indicate the beginning of &amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_ListContinue&amp;quot;&amp;gt;a section of code &amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_ListNum2&amp;quot;&amp;gt;you want to be included&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_ListContinue&amp;quot;&amp;gt; in debugging&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_ListNum2&amp;quot;&amp;gt;: &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;f_CodeExList2&amp;quot;&amp;gt;!debugger include on &amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
: b. &amp;lt;span class=&amp;quot;f_ListNum2&amp;quot;&amp;gt;Indicate the last line to include. &amp;lt;/span&amp;gt;&lt;br /&gt;
: From the &amp;#039;&amp;#039;&amp;#039;include on&amp;#039;&amp;#039;&amp;#039;&amp;lt;span class=&amp;quot;f_ListContinue2&amp;quot;&amp;gt; directive, source code lines are included for debugging until the first of the following is encountered: &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;span class=&amp;quot;f_ListBul3&amp;quot;&amp;gt;A &amp;lt;/span&amp;gt;&amp;#039;&amp;#039;&amp;#039;!debugger include off&amp;#039;&amp;#039;&amp;#039;&amp;lt;span class=&amp;quot;f_ListBul3&amp;quot;&amp;gt; statement &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;span class=&amp;quot;f_ListBul3&amp;quot;&amp;gt;The end of the Exclude block that contains the starting &amp;lt;/span&amp;gt;&amp;#039;&amp;#039;&amp;#039;include on&amp;#039;&amp;#039;&amp;#039;&amp;lt;span class=&amp;quot;f_ListContinue&amp;quot;&amp;gt; directive&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_ListBul3&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;span class=&amp;quot;f_ListBul3&amp;quot;&amp;gt;The end of the compilation (END statement is reached) &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;span class=&amp;quot;f_ListBul3&amp;quot;&amp;gt;The end of the procedure that contains the starting &amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_MonoBold&amp;quot;&amp;gt;include on&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_ListContinue&amp;quot;&amp;gt; directive&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_ListBul3&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;term&amp;quot;&amp;gt;If a named procedure or routine:&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_ListContinue&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;span class=&amp;quot;f_ListContinue2&amp;quot;&amp;gt;Specify after the Exclude directive and before the procedure or routine an&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_ListBul2&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_MonoBold&amp;quot;&amp;gt;include proc name_or_pattern&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_ListContinue2&amp;quot;&amp;gt; or &amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_MonoBold&amp;quot;&amp;gt;include routine name_or_pattern &amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_ListBul2&amp;quot;&amp;gt;directive to &amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_ListContinue2&amp;quot;&amp;gt;indicate the &amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_ListBul2&amp;quot;&amp;gt;code &amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_ListContinue2&amp;quot;&amp;gt;you want to be included&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_ListBul2&amp;quot;&amp;gt; in debugging. &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_ListContinue&amp;quot;&amp;gt;Or:&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;span class=&amp;quot;f_ListBul2&amp;quot;&amp;gt;Specify the procedures or routines in a list file you access via the &amp;lt;/span&amp;gt;&amp;lt;var&amp;gt;Edit Include Proc List&amp;lt;/var&amp;gt;&amp;lt;span class=&amp;quot;f_ListBul2&amp;quot;&amp;gt; or &amp;lt;/span&amp;gt;&amp;lt;var&amp;gt;Edit Include Routine List&amp;lt;/var&amp;gt;&amp;lt;span class=&amp;quot;f_ListBul2&amp;quot;&amp;gt; buttons on the &amp;lt;/span&amp;gt;&amp;lt;var&amp;gt;Proc Selection&amp;lt;/var&amp;gt;&amp;lt;span class=&amp;quot;f_ListBul2&amp;quot;&amp;gt; page (see image and description above).&amp;lt;/span&amp;gt;&lt;br /&gt;
: In the file, specify the&amp;lt;span class=&amp;quot;f_Para&amp;quot;&amp;gt; items you want to include (that are located within code you are excluding).&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_ListContinue2&amp;quot;&amp;gt;  &amp;lt;/span&amp;gt;&lt;br /&gt;
: After you save and Exit the files, click the &amp;lt;var&amp;gt;Reload Proc/Routine/Method Lists&amp;lt;/var&amp;gt;&amp;lt;span class=&amp;quot;f_ListContinue2&amp;quot;&amp;gt; button (or use the &amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_Monospace&amp;quot;&amp;gt;reloadLists&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_ListContinue2&amp;quot;&amp;gt; command) to make the file content known to the Client. &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5. &amp;lt;span class=&amp;quot;f_ListNum1&amp;quot;&amp;gt;Invoke and debug the code. &amp;lt;/span&amp;gt;&lt;br /&gt;
: In place of the excluded lines, the Debugger inserts a comment to the &amp;lt;span class=&amp;quot;f_Monospace&amp;quot;&amp;gt;exclude off&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_ListContinue&amp;quot;&amp;gt; directive in the Client &amp;lt;/span&amp;gt;&amp;lt;var&amp;gt;Source Code&amp;lt;/var&amp;gt;&amp;lt;span class=&amp;quot;f_ListContinue&amp;quot;&amp;gt; display that specifies the number of lines excluded. Any lines within the excluded block that contain Include directives are also denoted. All directive statements are shown in purple text [[Changing the colors in Client displays|by default:]] &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:directives2a_zoom60.gif|526x269px|directives2a]]&amp;lt;span class=&amp;quot;f_ListContinue&amp;quot;&amp;gt;  &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;usage-notes&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Usage notes: ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;span class=&amp;quot;f_ListBul1&amp;quot;&amp;gt;If you define more than 300 Exclude blocks, or more than 300 Include blocks, an error is issued.&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_Para&amp;quot;&amp;gt;  A block may be a designated section of consecutive code lines or a named routine or procedure.&amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;span class=&amp;quot;f_ListBul1&amp;quot;&amp;gt;Until an &amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_MonoBold&amp;quot;&amp;gt;exclude on&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_ListBul1&amp;quot;&amp;gt; directive ends, subsequent &amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_MonoBold&amp;quot;&amp;gt;exclude on &amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_ListBul1&amp;quot;&amp;gt;statements are ignored. This is also true for the implied &amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_MonoBold&amp;quot;&amp;gt;exclude on&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_ListBul1&amp;quot;&amp;gt; created by Init Exclude mode (described in the subsection below). &amp;lt;/span&amp;gt;&lt;br /&gt;
* &amp;lt;span class=&amp;quot;f_Para&amp;quot;&amp;gt;A &amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_Monospace&amp;quot;&amp;gt;!debugger include on&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_Para&amp;quot;&amp;gt; directive has an effect only within an Exclude block.&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_ListBul1&amp;quot;&amp;gt; For example: &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;f_CodeExList&amp;quot;&amp;gt;!debugger exclude on &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_CodeExList&amp;quot;&amp;gt;... lots of code that is not debugged&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_CodeExList&amp;quot;&amp;gt;  !debugger include on &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_CodeExList&amp;quot;&amp;gt;  ... an important subroutine that needs debugging&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_CodeExList&amp;quot;&amp;gt;  !debugger include off &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_CodeExList&amp;quot;&amp;gt;... lots more code that is not debugged&amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_CodeExList&amp;quot;&amp;gt;!debugger exclude off  &amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;span class=&amp;quot;f_ListBul1&amp;quot;&amp;gt;Dummy string substitution is done on !debugger directives &amp;lt;/span&amp;gt;&amp;#039;&amp;#039;&amp;#039;before&amp;#039;&amp;#039;&amp;#039;&amp;lt;span class=&amp;quot;f_ListBul1&amp;quot;&amp;gt; they are parsed and processed. This lets you build a directive conditionally.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_ListContinue&amp;quot;&amp;gt;For example: &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;f_CodeExList&amp;quot;&amp;gt;begin     &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_CodeExList&amp;quot;&amp;gt;   trace $sirver   &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_CodeExList&amp;quot;&amp;gt;   if ($sirver &amp;amp;gt;= 706) then &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_CodeExList&amp;quot;&amp;gt;      $setg(&amp;#039;COMMENT&amp;#039;,&amp;#039;&amp;#039;)  &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_CodeExList&amp;quot;&amp;gt;   else   &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_CodeExList&amp;quot;&amp;gt;      $setg(&amp;#039;COMMENT&amp;#039;,&amp;#039;*&amp;#039;) &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_CodeExList&amp;quot;&amp;gt;   end if  &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_CodeExList&amp;quot;&amp;gt;end  &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_CodeExList&amp;quot;&amp;gt;begin &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_CodeExList&amp;quot;&amp;gt;   * Code to debug  &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_CodeExList&amp;quot;&amp;gt;   trace &amp;#039;Debug me&amp;#039;  &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_CodeExList&amp;quot;&amp;gt;   ?&amp;amp;amp;COMMENT !debugger exclude on  &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_CodeExList&amp;quot;&amp;gt;   * Code not to debug   &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_CodeExList&amp;quot;&amp;gt;   trace &amp;#039;Do not debug me&amp;#039;  &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_CodeExList&amp;quot;&amp;gt;   ?&amp;amp;amp;COMMENT !debugger exclude off &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_CodeExList&amp;quot;&amp;gt;end  &amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;span class=&amp;quot;f_ListBul1&amp;quot;&amp;gt;When you compile a program that contains Exclude blocks or Exclude and Include blocks, &amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_Product&amp;quot;&amp;gt;Model 204&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_ListBul1&amp;quot;&amp;gt; writes a summary of the exclusions to the Audit Trail at the end of compilation: &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;f_CodeExList&amp;quot;&amp;gt;MS MSIR.1003: 2 Debugger Exclude block(s) defined &amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_CodeExList&amp;quot;&amp;gt;MS MSIR.1004: Lines 5-9 excluded from the debugger &amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_CodeExList&amp;quot;&amp;gt;MS MSIR.1005: Quads 24-135 excluded from the debugger &amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_CodeExList&amp;quot;&amp;gt;MS MSIR.1004: Lines 15-18 excluded from the debugger &amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_CodeExList&amp;quot;&amp;gt;MS MSIR.1005: Quads 160-271 excluded from the debugger &amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;span class=&amp;quot;f_ListBul1&amp;quot;&amp;gt;The Client &amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_Monospace&amp;quot;&amp;gt;[[setPreference command|setPreference]]&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_ListBul1&amp;quot;&amp;gt; command has options that let you toggle &amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_ListNum2&amp;quot;&amp;gt;the &amp;lt;/span&amp;gt;&amp;lt;var&amp;gt;Use !debugger directives, &amp;lt;/var&amp;gt;&amp;lt;span class=&amp;quot;f_ListContinue3&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;var&amp;gt;Use Proc Lists for exclude/include,&amp;lt;/var&amp;gt;&amp;lt;span class=&amp;quot;f_ListContinue3&amp;quot;&amp;gt; and &amp;lt;/span&amp;gt;&amp;lt;var&amp;gt;Use Routine Lists for exclude/include&amp;lt;/var&amp;gt;&amp;lt;span class=&amp;quot;f_ListContinue3&amp;quot;&amp;gt; checkboxes.&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_ListBul1&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Using Init Exclude mode ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Para&amp;quot;&amp;gt;By default, starting from your program&amp;#039;s Begin statement, the code exclude feature preserves for your debugging all the code lines that you do not explicitly exclude via directives. However, you may have cases where it would be advantageous to invert the default behavior, that is, starting from the Begin statement, to exclude all the code from debugging except the blocks you explicitly preserve via directives. &amp;amp;quot;Init Exclude&amp;amp;quot; mode provides such an inversion of the default. &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Para&amp;quot;&amp;gt;Init Exclude mode is the equivalent of explicitly specifying &amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_CodeExList&amp;quot;&amp;gt;!debugger exclude on&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_Para&amp;quot;&amp;gt; immediately following your program&amp;#039;s BEGIN statement. It&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_CodeExList&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_Para&amp;quot;&amp;gt;changes nothing else about the operation of the code exclude feature. All program code lines are excluded from debugging until one of the following &amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_ListContinue&amp;quot;&amp;gt;directives&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_Para&amp;quot;&amp;gt; is encountered explicitly or is encountered implicitly via specification of an Include Proc or Include Routine list (&amp;lt;/span&amp;gt;&amp;lt;var&amp;gt;Proc Selection&amp;lt;/var&amp;gt;&amp;lt;span class=&amp;quot;f_Para&amp;quot;&amp;gt; tab): &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p class=&amp;quot;syntax&amp;quot;&amp;gt;&amp;lt;span class=&amp;quot;f_Monospace&amp;quot;&amp;gt;!debugger include on&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Monospace&amp;quot;&amp;gt;!debugger include proc&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Monospace&amp;quot;&amp;gt;!debugger include routine&amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Monospace&amp;quot;&amp;gt;!debugger exclude off&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Para&amp;quot;&amp;gt;Subsequent code is then included until the first of one of the following: &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;span class=&amp;quot;f_ListBul1&amp;quot;&amp;gt;A &amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_MonoBold&amp;quot;&amp;gt;!debugger include off&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_ListBul1&amp;quot;&amp;gt; or&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_Para&amp;quot;&amp;gt; a &amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_MonoBold&amp;quot;&amp;gt;!debugger exclude on&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_Monospace&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_ListBul1&amp;quot;&amp;gt;statement  &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;span class=&amp;quot;f_ListBul1&amp;quot;&amp;gt;A &amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_MonoBold&amp;quot;&amp;gt;!debugger exclude proc&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_ListBul1&amp;quot;&amp;gt; or&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_Para&amp;quot;&amp;gt; a &amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_MonoBold&amp;quot;&amp;gt;!debugger exclude routine&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_Monospace&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_ListBul1&amp;quot;&amp;gt;statement  (explicit, or implicit via &amp;lt;/span&amp;gt;&amp;lt;var&amp;gt;Proc Selection&amp;lt;/var&amp;gt;&amp;lt;span class=&amp;quot;f_Para&amp;quot;&amp;gt; page button&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_ListBul1&amp;quot;&amp;gt;)&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;span class=&amp;quot;f_ListBul1&amp;quot;&amp;gt;The end of the compilation (END statement is reached) &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;span class=&amp;quot;f_ListBul1&amp;quot;&amp;gt;The end of the procedure that contains the starting &amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_MonoBold&amp;quot;&amp;gt;include on&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_ListContinue&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_ListBul1&amp;quot;&amp;gt;directive &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;to-invoke-init-exclude-mode&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== To invoke Init Exclude mode: ===&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;span class=&amp;quot;f_ListNum1&amp;quot;&amp;gt;Enable Debugger directives by selecting the &amp;lt;/span&amp;gt;&amp;lt;var&amp;gt;Use !debugger directives&amp;lt;/var&amp;gt;&amp;lt;span class=&amp;quot;f_ListNum1&amp;quot;&amp;gt; option from the Client &amp;lt;/span&amp;gt;&amp;lt;var&amp;gt;File&amp;lt;/var&amp;gt;&amp;lt;span class=&amp;quot;f_ListNum1&amp;quot;&amp;gt; menu, &amp;lt;/span&amp;gt;&amp;lt;var&amp;gt;Preferences&amp;lt;/var&amp;gt;&amp;lt;span class=&amp;quot;f_ListNum1&amp;quot;&amp;gt; option. &amp;lt;/span&amp;gt;&lt;br /&gt;
# &amp;lt;span class=&amp;quot;f_ListNum1&amp;quot;&amp;gt;Do either of the following: &amp;lt;/span&amp;gt;&lt;br /&gt;
## &amp;lt;span class=&amp;quot;f_ListBul2&amp;quot;&amp;gt;Select &amp;lt;/span&amp;gt;&amp;lt;var&amp;gt;Toggle Init Exclude&amp;lt;/var&amp;gt;&amp;lt;span class=&amp;quot;f_ListBul2&amp;quot;&amp;gt; from the Client&amp;#039;s &amp;lt;/span&amp;gt;&amp;lt;var&amp;gt;Execution&amp;lt;/var&amp;gt;&amp;lt;span class=&amp;quot;f_ListBul2&amp;quot;&amp;gt; menu.  &amp;lt;/span&amp;gt;&lt;br /&gt;
## &amp;lt;span class=&amp;quot;f_ListBul2&amp;quot;&amp;gt;Select the Client button, hot key, or macro you [[Introducing the configurable components|configured]] to execute the &amp;lt;span class=&amp;quot;f_Monospace&amp;quot;&amp;gt;[[toggleInitExclude command|toggleInitExclude]] &amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_ListBul2&amp;quot;&amp;gt;command. &amp;lt;/span&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
::: An &amp;lt;span class=&amp;quot;f_Monospace&amp;quot;&amp;gt;Init Exclude mode is on&amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_ListContinue&amp;quot;&amp;gt; message in the Client&amp;#039;s [[Status bar|Status bar]] as well as &amp;lt;/span&amp;gt;&amp;lt;span class=&amp;quot;f_ListBul2&amp;quot;&amp;gt;a checkmark next to the &amp;lt;/span&amp;gt;&amp;lt;var&amp;gt;Toggle Init Exclude option &amp;lt;/var&amp;gt;&amp;lt;span class=&amp;quot;f_ListContinue&amp;quot;&amp;gt;in the &amp;lt;/span&amp;gt;&amp;lt;var&amp;gt;Execution&amp;lt;/var&amp;gt;&amp;lt;span class=&amp;quot;f_ListBul2&amp;quot;&amp;gt; menu confirm that Init Exclude mode is on.&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
: 3. &amp;lt;span class=&amp;quot;f_ListNum1&amp;quot;&amp;gt;Run the program you want to debug. &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_ListContinue&amp;quot;&amp;gt;A &amp;amp;quot;!debugger exclude on set by client&amp;amp;quot; comment in the code indicates that lines were excluded from the beginning of the program: &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[File:directives3a_zoom60.gif|526x269px|directives3a]]&amp;lt;span class=&amp;quot;f_ListContinue&amp;quot;&amp;gt; &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span class=&amp;quot;f_Para&amp;quot;&amp;gt;To leave Init Exclude mode, you repeat step 2, above.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;See Also:&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
: [[Running to a specific procedure|Running to a specific procedure]]&lt;br /&gt;
: [[Running only to listed procedures|Running only to listed procedures]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Debugger Home]]&lt;/div&gt;</summary>
		<author><name>Ekern</name></author>
	</entry>
</feed>