Running only to listed procedures: Difference between revisions

From m204wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
__TOC__
__TOC__
<span class="f_Para">From a large domain, you may only want to interactively debug a particular set of procedures, say the procedures for which you are responsible. [[running_to_specific_procedure.html|“Run Until Procedure” processing]] lets the Debugger run through code until it reaches a procedure whose name matches a name or pattern you specified. But it may be simpler to eliminate the repeated specifying of individual names and instead to debug just the procedures specified in a list. In the Debugger, this is &quot;White List&quot; processing. Alternatively, it might be easier to specify in a &quot;Black List&quot; the procedures you do </span><span class="f_EmphItal">not</span><span class="f_Para"> want to debug. </span>
<span class="f_Para">From a large domain, you may only want to interactively debug a particular set of procedures, say the procedures for which you are responsible. [[Running to a specific procedure|“Run Until Procedure” processing]] lets the Debugger run through code until it reaches a procedure whose name matches a name or pattern you specified. But it may be simpler to eliminate the repeated specifying of individual names and instead to debug just the procedures specified in a list. In the Debugger, this is &quot;White List&quot; processing. Alternatively, it might be easier to specify in a &quot;Black List&quot; the procedures you do </span><span class="term">not</span><span class="f_Para"> want to debug. </span>


<span class="f_Para">To enable White or Black List processing, you: </span>
<span class="f_Para">To enable White or Black List processing, you: </span>
Line 9: Line 9:


<span class="f_Para">Enabling and updating white or black list processing is discussed further in the following subsections: </span>
<span class="f_Para">Enabling and updating white or black list processing is discussed further in the following subsections: </span>
 
: [[Running only to listed procedures#Setting up a White or Black List file|Setting up a White or Black List file]]
<span class="f_SimpleListText">[[run_only_to_listed_procs.html#setup_whitelist_file|Setting up a White or Black List file]]</span>
: [[Running only to listed procedures#Invoking White or Black List processing|Invoking White or Black List processing]]
<span class="f_SimpleListText">[[run_only_to_listed_procs.html#invoke_whitelist_processing|Invoking White or Black List processing]]</span>
: [[Running only to listed procedures#Updating a White or Black List file|Updating a White or Black List file]]
<span class="f_SimpleListText">[[run_only_to_listed_procs.html#update_whitelist|Updating a White or Black List file]]</span>


=== Setting up a White or Black List file ===
=== Setting up a White or Black List file ===
<span class="f_Para">You must create a simple ASCII text file named </span><span class="f_Monospace">whitelist.txt</span><span class="f_Para"> or </span><span class="f_Monospace">blacklist.txt</span><span class="f_Para">. In </span><span class="f_Monospace">whitelist.txt</span><span class="f_Para">, you list the </span><span class="f_Product">Model 204</span><span class="f_Para"> procedures that you want to debug; in </span><span class="f_Monospace">blacklist.txt</span><span class="f_Para">, you list those you do not want to debug. The Debugger Client will create these files for you (using </span><span class="f_Product">Notepad, </span><span class="f_Para">as described below). Or, you can create &quot;manually&quot; the file you want, in the same folder as the Debugger Client executable file (JanusDebugger.exe), using any text editor. </span>
<span class="f_Para">You must create a simple ASCII text file named </span><span class="f_Monospace">whitelist.txt</span><span class="f_Para"> or </span><span class="f_Monospace">blacklist.txt</span><span class="f_Para">. In </span><span class="f_Monospace">whitelist.txt</span><span class="f_Para">, you list the </span><var>Model 204</var><span class="f_Para"> procedures that you want to debug; in </span><span class="f_Monospace">blacklist.txt</span><span class="f_Para">, you list those you do not want to debug. The Debugger Client will create these files for you (using </span><var>Notepad, </var><span class="f_Para">as described below). Or, you can create &quot;manually&quot; the file you want, in the same folder as the Debugger Client executable file (JanusDebugger.exe), using any text editor. </span>


<span class="f_Para">If you provide no </span><span class="f_Monospace">whitelist.txt</span><span class="f_Para"> or </span><span class="f_Monospace">blacklist.txt</span><span class="f_Para"> file, the user interface for White List or Black List invocation is disabled. </span>
<span class="f_Para">If you provide no </span><span class="f_Monospace">whitelist.txt</span><span class="f_Para"> or </span><span class="f_Monospace">blacklist.txt</span><span class="f_Para"> file, the user interface for White List or Black List invocation is disabled. </span>
Line 21: Line 20:
<span class="f_Para">In the Debugger Client: </span>
<span class="f_Para">In the Debugger Client: </span>


1. <span class="f_ListNum1">From the </span><span class="f_GUIlabel">File</span><span class="f_ListNum1"> menu, select </span><span class="f_GUIlabel">Edit White List</span><span class="f_ListNum1"> or </span><span class="f_GUIlabel">Edit Black List </span><span class="f_ListNum1">(or, as mentioned below, use t</span><span class="f_ListNum2">he </span><span class="f_GUIlabel">Edit White List</span><span class="f_ListNum2"> or</span><span class="f_ListNum1"> t</span><span class="f_ListNum2">he </span><span class="f_GUIlabel">Edit Black List</span><span class="f_ListNum2"> button i</span><span class="f_ListNum1">n the </span><span class="f_GUIlabel">White/Black List</span><span class="f_ListNum1"> box in the </span><span class="f_GUIlabel">Proc Selection</span><span class="f_ListNum1"> page).</span>
1. <span class="f_ListNum1">From the </span><var>File</var><span class="f_ListNum1"> menu, select </span><var>Edit White List</var><span class="f_ListNum1"> or </span><var>Edit Black List </var><span class="f_ListNum1">(or, as mentioned below, use t</span><span class="f_ListNum2">he </span><var>Edit White List</var><span class="f_ListNum2"> or</span><span class="f_ListNum1"> t</span><span class="f_ListNum2">he </span><var>Edit Black List</var><span class="f_ListNum2"> button i</span><span class="f_ListNum1">n the </span><var>White/Black List</var><span class="f_ListNum1"> box in the </span><var>Proc Selection</var><span class="f_ListNum1"> page).</span>
 
: [[File:whiteprocs6frag5_zoom50.gif|140x154px|whiteprocs6frag5]]<span class="f_ListContinue"> </span>
<span class="f_ListContinue"> </span>[[File:whiteprocs6frag5_zoom50.gif|140x154px|whiteprocs6frag5]]<span class="f_ListContinue"> </span>
: A blank <span class="f_Product">Notepad</span><span class="f_ListContinue"> </span><span class="f_Monospace">whitelist.txt</span><span class="f_ListContinue"> or </span><span class="f_Monospace">blacklist.txt</span><span class="f_ListContinue"> file is opened for you. (If such a file already exists, that file is opened.)</span>
 
<span class="f_ListContinue">A blank </span><span class="f_Product">Notepad</span><span class="f_ListContinue"> </span><span class="f_Monospace">whitelist.txt</span><span class="f_ListContinue"> or </span><span class="f_Monospace">blacklist.txt</span><span class="f_ListContinue"> file is opened for you. (If such a file already exists, that file is opened.)</span>


[[File:whiteprocs4a_zoom50.gif|236x126px|whiteprocs4a]]<span class="f_ListContinue"> </span>
[[File:whiteprocs4a_zoom50.gif|236x126px|whiteprocs4a]]<span class="f_ListContinue"> </span>
Line 34: Line 31:
* <span class="f_ListBul2">Leading and trailing blanks are ignored</span>
* <span class="f_ListBul2">Leading and trailing blanks are ignored</span>
* <span class="f_ListBul2">Matching is case insensitive</span>
* <span class="f_ListBul2">Matching is case insensitive</span>
* <span class="f_ListBul1">[[running_to_specific_procedure.html#shortcuts|Wildcards]] are allowed</span>
* <span class="f_ListBul1">[[Running to a specific procedure#Shortcuts for specifying procedure names |Wildcards]] are allowed</span>
* <span class="f_ListBul2">Blank lines are ignored </span>
* <span class="f_ListBul2">Blank lines are ignored </span>
* <span class="f_ListBul2">Any line starting with a number sign (#) is treated as a comment </span>
* <span class="f_ListBul2">Any line starting with a number sign (#) is treated as a comment </span>


<span class="f_ListContinue">Here is an example of a valid file specification: </span>
: Here is an example of a valid file specification: </span>


<p class="syntax"><span class="f_CodeExList"># white list the three stooges</span>
<p class="syntax"><span class="f_CodeExList"># white list the three stooges</span>
Line 47: Line 44:
3. <span class="f_ListNum1">Save and Exit the file. </span>
3. <span class="f_ListNum1">Save and Exit the file. </span>


=== Invoking White List or Black List processing ===
=== Invoking White List or Black List processing ===


<span class="f_Para">If the Debugger Client detects a valid White List or Black List file, it enables the option to turn the appropriate feature on or off. </span>
<span class="f_Para">If the Debugger Client detects a valid White List or Black List file, it enables the option to turn the appropriate feature on or off. </span>
<span class="f_Para">To invoke white or black list filtering at any time (it is off by default): </span>
<span class="f_Para">To invoke white or black list filtering at any time (it is off by default): </span>


1. <span class="f_ListNum1">Select the Client's </span><span class="f_GUIlabel">Proc Selection</span><span class="f_ListNum1"> tab. </span>
1. <span class="f_ListNum1">Select the Client's </span><var>Proc Selection</var><span class="f_ListNum1"> tab. </span>


2. <span class="f_ListNum1">If the Client was already started before you created or updated the </span><span class="f_Monospace">whitelist.txt</span><span class="f_Para"> or the</span><span class="f_ListNum1"> </span><span class="f_Monospace">blacklist.txt</span><span class="f_Para"> file, click the </span><span class="f_GUIlabel">Reload White List</span><span class="f_Para"> or </span><span class="f_GUIlabel">Reload Black List </span><span class="f_Para">button</span><span class="f_ListNum1"> </span><span class="f_Notes">so the Client can detect the file. This enables the button that invokes White List or Black List processing, and it also reports the file's contents to the Client log file </span><span class="f_Monospace">(log.txt)</span><span class="f_Notes">. </span>
2. <span class="f_ListNum1">If the Client was already started before you created or updated the </span><span class="f_Monospace">whitelist.txt</span><span class="f_Para"> or the</span><span class="f_ListNum1"> </span><span class="f_Monospace">blacklist.txt</span><span class="f_Para"> file, click the </span><var>Reload White List</var><span class="f_Para"> or </span><var>Reload Black List </var><span class="f_Para">button</span><span class="f_ListNum1"> </span><span class="f_Notes">so the Client can detect the file. This enables the button that invokes White List or Black List processing, and it also reports the file's contents to the Client log file </span><span class="f_Monospace">(log.txt)</span><span class="f_Notes">. </span>


3. <span class="f_ListNum1">In the </span><span class="f_GUIlabel">White/Black List</span><span class="f_ListNum1"> box in the </span><span class="f_GUIlabel">Skip Whole Programs</span><span class="f_ListNum1"> area, click the </span><span class="f_GUIlabel">Turn on White List</span><span class="f_ListNum1"> or </span><span class="f_GUIlabel">Turn on Black List </span><span class="f_ListNum1">button. </span>
3. <span class="f_ListNum1">In the </span><var>White/Black List</var><span class="f_ListNum1"> box in the </span><var>Skip Whole Programs</var><span class="f_ListNum1"> area, click the </span><var>Turn on White List</var><span class="f_ListNum1"> or </span><var>Turn on Black List </var><span class="f_ListNum1">button. </span>


[[File:whiteprocs6frag7_zoom45.gif|360x224px|whiteprocs6frag7]]
[[File:whiteprocs6frag7_zoom45.gif|360x224px|whiteprocs6frag7]]


<span class="f_ListContinue">Once you click the </span><span class="f_GUIlabel">Turn on White List</span><span class="f_ListContinue"> button, for example, </span><span class="f_Monospace">White list is active</span><span class="f_ListContinue"> displays in the [[Status bar|Status bar]], and white list filtering is enabled for the session until you turn it off by clicking the </span><span class="f_GUIlabel">Turn off Lists</span><span class="f_ListContinue"> button.  Your filtering selection persists over runs of the Client until you undo it. </span>
: Once you click the <var>Turn on White List</var><span class="f_ListContinue"> button, for example, </span><span class="f_Monospace">White list is active</span><span class="f_ListContinue"> displays in the [[Status bar|Status bar]], and white list filtering is enabled for the session until you turn it off by clicking the </span><var>Turn off Lists</var><span class="f_ListContinue"> button.  Your filtering selection persists over runs of the Client until you undo it. </span>


<span class="f_ListContinue">The </span><span class="f_ListNum1">Client's </span><span class="f_GUIlabel">Execution</span><span class="f_ListNum1"> menu also has </span><span class="f_GUIlabel">Turn On White List</span><span class="f_ListContinue"> and </span><span class="f_GUIlabel">Turn Off White List </span><span class="f_ListContinue">and</span><span class="f_ListNum1"> </span><span class="f_GUIlabel">Turn On Black List</span><span class="f_ListContinue"> and </span><span class="f_GUIlabel">Turn Off Black List </span><span class="f_ListNum1">option</span><span class="f_ListContinue">s that have the same effect as the </span><span class="f_GUIlabel">Proc Selection</span><span class="f_ListNum1"> tab</span><span class="f_ListContinue"> buttons. </span>
: The <span class="f_ListNum1">Client's </span><var>Execution</var><span class="f_ListNum1"> menu also has </span><var>Turn On White List</var><span class="f_ListContinue"> and </span><var>Turn Off White List </var><span class="f_ListContinue">and</span><span class="f_ListNum1"> </span><var>Turn On Black List</var><span class="f_ListContinue"> and </span><var>Turn Off Black List </var><span class="f_ListNum1">option</span><span class="f_ListContinue">s that have the same effect as the </span><var>Proc Selection</var><span class="f_ListNum1"> tab</span><span class="f_ListContinue"> buttons. </span>


<span class="f_Para">When white or black listing is on, the Debugger filters outer procedures automatically, stopping to interactively debug only the requests that are on the white list or not on the black list. A procedure not on the white list or on the black list still executes normally, but it is not interactively debugged, and the Client's </span><span class="f_GUIlabel">Audit Trail</span><span class="f_Para"> displays are immediately refreshed to specify that such a procedure has been &quot;skipped.&quot; </span>
<span class="f_Para">When white or black listing is on, the Debugger filters outer procedures automatically, stopping to interactively debug only the requests that are on the white list or not on the black list. A procedure not on the white list or on the black list still executes normally, but it is not interactively debugged, and the Client's </span><var>Audit Trail</var><span class="f_Para"> displays are immediately refreshed to specify that such a procedure has been &quot;skipped.&quot; </span>


<span class="f_Para">You can also enable and disable White List or Black List processing by using the [[Introducing the configurable components#Commands|mappable Client commands]] that are equivalent to the above steps. The commands are </span><span class="f_Monospace">turnOnWhiteList,</span><span class="f_Para"> </span><span class="f_Monospace">turnOnBlackList, turnOffWhiteList,</span><span class="f_Para"> and </span><span class="f_Monospace">turnOffBlackList.</span><span class="f_Para"> </span>
<span class="f_Para">You can also enable and disable White List or Black List processing by using the [[Introducing the configurable components#Commands|mappable Client commands]] that are equivalent to the above steps. The commands are </span><span class="f_Monospace">turnOnWhiteList,</span><span class="f_Para"> </span><span class="f_Monospace">turnOnBlackList, turnOffWhiteList,</span><span class="f_Para"> and </span><span class="f_Monospace">turnOffBlackList.</span><span class="f_Para"> </span>
Line 78: Line 76:
2. <span class="f_ListNum1">While debugging an application where White List or Black List processing is active, invoke the button or hot key or macro.</span>
2. <span class="f_ListNum1">While debugging an application where White List or Black List processing is active, invoke the button or hot key or macro.</span>


<span class="f_Monospace">Break on next proc set</span><span class="f_ListContinue"> displays in the Client's [[Status bar|Status bar]] to indicate the command has been successfully issued, and the next procedure included at command level (or from APSY) will be debugged, even if the active White List or Black List would normally ignore it. When this next procedure is debugged, the </span><span class="f_GUIlabel">Audit Trail</span><span class="f_ListContinue"> will display, for example, &quot;White list accepted: </span><span class="term">procedure name</span><span class="f_ListContinue">.&quot; </span>
<span class="f_Monospace">Break on next proc set</span><span class="f_ListContinue"> displays in the Client's [[Status bar|Status bar]] to indicate the command has been successfully issued, and the next procedure included at command level (or from APSY) will be debugged, even if the active White List or Black List would normally ignore it. When this next procedure is debugged, the </span><var>Audit Trail</var><span class="f_ListContinue"> will display, for example, &quot;White list accepted: </span><span class="term">procedure name</span><span class="f_ListContinue">.&quot; </span>


<span class="f_ListContinue">The interrupt applies only to a single procedure, and you must manually invoke it again for each subsequent procedure you want to exclude from White List or Black List processing.</span>
: The interrupt applies only to a single procedure, and you must manually invoke it again for each subsequent procedure you want to exclude from White List or Black List processing.
: You cannot invoke an interrupt while debugging daemon code.
: In the same way you interrupt White List or Black List processing, you can also interrupt [[Running to a specific procedure|Run Until procedure processing.]]


<span class="f_ListContinue">You cannot invoke an interrupt while debugging daemon code.</span>
=== Updating a White List or Black List file ===
 
<span class="f_ListContinue">In the same way you interrupt White List or Black List processing, you can also interrupt [[running_to_specific_procedure.html#interrupt_run_until|Run Until procedure processing.]] </span>


=== Updating a White List or Black List file ===
<span class="f_Para">To update a White List, for example, at any time, from the Client: </span>
<span class="f_Para">To update a White List, for example, at any time, from the Client: </span>


1. <span class="f_ListNum1">Select either of the following two options (which let you update and save the current </span><span class="f_Monospace">whitelist.txt</span><span class="f_ListNum1"> file) </span>
1. <span class="f_ListNum1">Select either of the following two options (which let you update and save the current </span><span class="f_Monospace">whitelist.txt</span><span class="f_ListNum1"> file) </span>


* <span class="f_ListNum2">The </span><span class="f_GUIlabel">Edit White List</span><span class="f_ListNum2"> button i</span><span class="f_ListNum1">n the </span><span class="f_GUIlabel">White List</span><span class="f_ListNum1"> box in the </span><span class="f_GUIlabel">Proc Selection</span><span class="f_ListNum1"> page </span>
* <span class="f_ListNum2">The </span><var>Edit White List</var><span class="f_ListNum2"> button i</span><span class="f_ListNum1">n the </span><var>White List</var><span class="f_ListNum1"> box in the </span><var>Proc Selection</var><span class="f_ListNum1"> page </span>
* <span class="f_ListNum2">The </span><span class="f_GUIlabel">Edit White List</span><span class="f_ListNum2"> option of the </span><span class="f_GUIlabel">File</span><span class="f_ListNum2"> menu </span>
* <span class="f_ListNum2">The </span><var>Edit White List</var><span class="f_ListNum2"> option of the </span><var>File</var><span class="f_ListNum2"> menu </span>
 
2. <span class="f_ListNum1">On the </span><span class="f_GUIlabel">Proc Selection</span><span class="f_ListNum1"> page, click the </span><span class="f_GUIlabel">Reload White List</span><span class="f_ListNum1"> button (or execute the </span><span class="f_Monospace">[[reloadWhiteList command|reloadWhiteList]] </span><span class="f_ListNum1">command). </span>


<span class="f_ListContinue">After a successful reload, </span><span class="f_Monospace">White List reloaded</span><span class="f_ListContinue"> displays in the [[Status bar|Status bar]].</span>
2. <span class="f_ListNum1">On the </span><var>Proc Selection</var><span class="f_ListNum1"> page, click the </span><var>Reload White List</var><span class="f_ListNum1"> button (or execute the </span><span class="f_Monospace">[[reloadWhiteList command|reloadWhiteList]] </span><span class="f_ListNum1">command). </span>
: After a successful reload, </span><span class="f_Monospace">White List reloaded</span><span class="f_ListContinue"> displays in the [[Status bar|Status bar]].


<span class="f_Para">Alternatively, you can use your text editor to modify a White List or Black List file at any time, after which you c</span><span class="f_ListNum1">lick the </span><span class="f_GUIlabel">Reload White List</span><span class="f_ListNum1"> or the </span><span class="f_GUIlabel">Reload Black List</span><span class="f_ListNum1"> button on the Debugger Client </span><span class="f_GUIlabel">Proc Selection</span><span class="f_ListNum1"> page. </span>
<span class="f_Para">Alternatively, you can use your text editor to modify a White List or Black List file at any time, after which you c</span><span class="f_ListNum1">lick the </span><var>Reload White List</var><span class="f_ListNum1"> or the </span><var>Reload Black List</var><span class="f_ListNum1"> button on the Debugger Client </span><var>Proc Selection</var><span class="f_ListNum1"> page. </span>


'''See Also:'''
'''See Also'''
: [[selectively_excluding_source.html|Selectively excluding source code blocks]]
: [[selectively_excluding_source.html|Selectively excluding source code blocks]]
: [[locating_editing_procedures.html|Locating and editing procedure source files]]
: [[locating_editing_procedures.html|Locating and editing procedure source files]]


[[Category:Debugger Home]]
[[Category:Debugger Home]]

Revision as of 03:17, 7 November 2022

From a large domain, you may only want to interactively debug a particular set of procedures, say the procedures for which you are responsible. “Run Until Procedure” processing lets the Debugger run through code until it reaches a procedure whose name matches a name or pattern you specified. But it may be simpler to eliminate the repeated specifying of individual names and instead to debug just the procedures specified in a list. In the Debugger, this is "White List" processing. Alternatively, it might be easier to specify in a "Black List" the procedures you do not want to debug.

To enable White or Black List processing, you:

1. Provide a file that contains either the names of the procedures to be debugged or a file that contains the names of the procedures not to be debugged.

2. Invoke the feature in the Client GUI.

Enabling and updating white or black list processing is discussed further in the following subsections:

Setting up a White or Black List file
Invoking White or Black List processing
Updating a White or Black List file

Setting up a White or Black List file

You must create a simple ASCII text file named whitelist.txt or blacklist.txt. In whitelist.txt, you list the Model 204 procedures that you want to debug; in blacklist.txt, you list those you do not want to debug. The Debugger Client will create these files for you (using Notepad, as described below). Or, you can create "manually" the file you want, in the same folder as the Debugger Client executable file (JanusDebugger.exe), using any text editor.

If you provide no whitelist.txt or blacklist.txt file, the user interface for White List or Black List invocation is disabled.

In the Debugger Client:

1. From the File menu, select Edit White List or Edit Black List (or, as mentioned below, use the Edit White List or the Edit Black List button in the White/Black List box in the Proc Selection page).

whiteprocs6frag5
A blank Notepad whitelist.txt or blacklist.txt file is opened for you. (If such a file already exists, that file is opened.)

whiteprocs4a

2. If a whitelist.txt file, specify the procedures you want to debug; if a blacklist.txt, specify those you don't want to be debugged. Note the following syntax rules:

  • One entry per line
  • Leading and trailing blanks are ignored
  • Matching is case insensitive
  • Wildcards are allowed
  • Blank lines are ignored
  • Any line starting with a number sign (#) is treated as a comment
Here is an example of a valid file specification:

# white list the three stooges   p.moe   p.larry   p.shemp 

3. Save and Exit the file.

Invoking White List or Black List processing

If the Debugger Client detects a valid White List or Black List file, it enables the option to turn the appropriate feature on or off.

To invoke white or black list filtering at any time (it is off by default):

1. Select the Client's Proc Selection tab.

2. If the Client was already started before you created or updated the whitelist.txt or the blacklist.txt file, click the Reload White List or Reload Black List button so the Client can detect the file. This enables the button that invokes White List or Black List processing, and it also reports the file's contents to the Client log file (log.txt).

3. In the White/Black List box in the Skip Whole Programs area, click the Turn on White List or Turn on Black List button.

whiteprocs6frag7

Once you click the Turn on White List button, for example, White list is active displays in the Status bar, and white list filtering is enabled for the session until you turn it off by clicking the Turn off Lists button.  Your filtering selection persists over runs of the Client until you undo it.
The Client's Execution menu also has Turn On White List and Turn Off White List and Turn On Black List and Turn Off Black List options that have the same effect as the Proc Selection tab buttons.

When white or black listing is on, the Debugger filters outer procedures automatically, stopping to interactively debug only the requests that are on the white list or not on the black list. A procedure not on the white list or on the black list still executes normally, but it is not interactively debugged, and the Client's Audit Trail displays are immediately refreshed to specify that such a procedure has been "skipped."

You can also enable and disable White List or Black List processing by using the mappable Client commands that are equivalent to the above steps. The commands are turnOnWhiteList, turnOnBlackList, turnOffWhiteList, and turnOffBlackList.

Interrupting White List processing

Once White List or Black List processing is invoked, it continues in effect unless you explicitly turn it off or until you exit the Client. It is interruptible, however: the command breakOnNextProc lets you override the White List or Black List to interactively debug the next procedure.

To use a manual interrupt for White List or Black List processing:

1. Map the breakOnNextProc command to a Client button or hot key (as described in Setting up the ui.xml file) or in a macro (as described in Using Debugger macros).

2. While debugging an application where White List or Black List processing is active, invoke the button or hot key or macro.

Break on next proc set displays in the Client's Status bar to indicate the command has been successfully issued, and the next procedure included at command level (or from APSY) will be debugged, even if the active White List or Black List would normally ignore it. When this next procedure is debugged, the Audit Trail will display, for example, "White list accepted: procedure name."

The interrupt applies only to a single procedure, and you must manually invoke it again for each subsequent procedure you want to exclude from White List or Black List processing.
You cannot invoke an interrupt while debugging daemon code.
In the same way you interrupt White List or Black List processing, you can also interrupt Run Until procedure processing.

Updating a White List or Black List file

To update a White List, for example, at any time, from the Client:

1. Select either of the following two options (which let you update and save the current whitelist.txt file)

  • The Edit White List button in the White List box in the Proc Selection page
  • The Edit White List option of the File menu

2. On the Proc Selection page, click the Reload White List button (or execute the reloadWhiteList command).

After a successful reload, White List reloaded displays in the Status bar.

Alternatively, you can use your text editor to modify a White List or Black List file at any time, after which you click the Reload White List or the Reload Black List button on the Debugger Client Proc Selection page.

See Also

Selectively excluding source code blocks
Locating and editing procedure source files