Documentation/Source/eric5.DebugClients.Ruby.DebugClientBaseModule.html

changeset 58
37f0444c3479
parent 21
b88a0e6268bd
child 409
0ea528e80202
equal deleted inserted replaced
57:81326a94fdca 58:37f0444c3479
20 </style> 20 </style>
21 </head> 21 </head>
22 <body><a NAME="top" ID="top"></a> 22 <body><a NAME="top" ID="top"></a>
23 <h1>eric5.DebugClients.Ruby.DebugClientBaseModule</h1> 23 <h1>eric5.DebugClients.Ruby.DebugClientBaseModule</h1>
24 <p> 24 <p>
25 &#70;&#105;&#108;&#101; &#105;&#109;&#112;&#108;&#101;&#109;&#101;&#110;&#116;&#105;&#110;&#103; &#97; &#100;&#101;&#98;&#117;&#103; &#99;&#108;&#105;&#101;&#110;&#116; &#98;&#97;&#115;&#101; &#109;&#111;&#100;&#117;&#108;&#101;. 25 File implementing a debug client base module.
26 </p> 26 </p>
27 <h3>Global Attributes</h3> 27 <h3>Global Attributes</h3>
28 <table> 28 <table>
29 <tr><td>None</td></tr> 29 <tr><td>None</td></tr>
30 </table> 30 </table>
34 </table> 34 </table>
35 <h3>Modules</h3> 35 <h3>Modules</h3>
36 <table> 36 <table>
37 <tr> 37 <tr>
38 <td><a href="#DebugClientBase">DebugClientBase</a></td> 38 <td><a href="#DebugClientBase">DebugClientBase</a></td>
39 <td>&#77;&#111;&#100;&#117;&#108;&#101; &#105;&#109;&#112;&#108;&#101;&#109;&#101;&#110;&#116;&#105;&#110;&#103; &#116;&#104;&#101; &#99;&#108;&#105;&#101;&#110;&#116; &#115;&#105;&#100;&#101; &#111;&#102; &#116;&#104;&#101; &#100;&#101;&#98;&#117;&#103;&#103;&#101;&#114;.</td> 39 <td>Module implementing the client side of the debugger.</td>
40 </tr> 40 </tr>
41 </table> 41 </table>
42 <h3>Functions</h3> 42 <h3>Functions</h3>
43 <table> 43 <table>
44 <tr><td>None</td></tr> 44 <tr><td>None</td></tr>
45 </table> 45 </table>
46 <hr /><hr /> 46 <hr /><hr />
47 <a NAME="DebugClientBase" ID="DebugClientBase"></a> 47 <a NAME="DebugClientBase" ID="DebugClientBase"></a>
48 <h2>DebugClientBase</h2> 48 <h2>DebugClientBase</h2>
49 <p> 49 <p>
50 &#77;&#111;&#100;&#117;&#108;&#101; &#105;&#109;&#112;&#108;&#101;&#109;&#101;&#110;&#116;&#105;&#110;&#103; &#116;&#104;&#101; &#99;&#108;&#105;&#101;&#110;&#116; &#115;&#105;&#100;&#101; &#111;&#102; &#116;&#104;&#101; &#100;&#101;&#98;&#117;&#103;&#103;&#101;&#114;. 50 Module implementing the client side of the debugger.
51 </p><p> 51 </p><p>
52 &#73;&#116; &#112;&#114;&#111;v&#105;&#100;&#101;&#115; &#97;&#99;&#99;&#101;&#115;&#115; &#116;&#111; &#116;&#104;&#101; &#82;&#117;&#98;y &#105;&#110;&#116;&#101;&#114;&#112;&#101;&#116;&#101;&#114; &#102;&#114;&#111;&#109; &#97; &#100;&#101;&#98;&#117;&#103;&#103;&#101;&#114; &#114;&#117;&#110;&#110;&#105;&#110;&#103; &#105;&#110; &#97;&#110;&#111;&#116;&#104;&#101;&#114; 52 It provides access to the Ruby interpeter from a debugger running in another
53 &#112;&#114;&#111;&#99;&#101;&#115;&#115;. 53 process.
54 </p><p> 54 </p><p>
55 &#84;&#104;&#101; &#112;&#114;&#111;&#116;&#111;&#99;&#111;&#108; &#98;&#101;&#116;w&#101;&#101;&#110; &#116;&#104;&#101; &#100;&#101;&#98;&#117;&#103;&#103;&#101;&#114; &#97;&#110;&#100; &#116;&#104;&#101; &#99;&#108;&#105;&#101;&#110;&#116; &#97;&#115;&#115;&#117;&#109;&#101;&#115; &#116;&#104;&#97;&#116; &#116;&#104;&#101;&#114;&#101; w&#105;&#108;&#108; &#98;&#101; 55 The protocol between the debugger and the client assumes that there will be
56 &#97; &#115;&#105;&#110;&#103;&#108;&#101; &#115;&#111;&#117;&#114;&#99;&#101; &#111;&#102; &#100;&#101;&#98;&#117;&#103;&#103;&#101;&#114; &#99;&#111;&#109;&#109;&#97;&#110;&#100;&#115; &#97;&#110;&#100; &#97; &#115;&#105;&#110;&#103;&#108;&#101; &#115;&#111;&#117;&#114;&#99;&#101; &#111;&#102; &#82;&#117;&#98;y 56 a single source of debugger commands and a single source of Ruby
57 &#115;&#116;&#97;&#116;&#101;&#109;&#101;&#110;&#116;&#115;. &#67;&#111;&#109;&#109;&#97;&#110;&#100;&#115; &#97;&#110;&#100; &#115;&#116;&#97;&#116;&#101;&#109;&#101;&#110;&#116; &#97;&#114;&#101; &#97;&#108;w&#97;y&#115; &#101;x&#97;&#99;&#116;&#108;y &#111;&#110;&#101; &#108;&#105;&#110;&#101; &#97;&#110;&#100; &#109;&#97;y &#98;&#101; 57 statements. Commands and statement are always exactly one line and may be
58 &#105;&#110;&#116;&#101;&#114;&#115;&#112;&#101;&#114;&#115;&#101;&#100;. 58 interspersed.
59 </p><p> 59 </p><p>
60 &#84;&#104;&#101; &#112;&#114;&#111;&#116;&#111;&#99;&#111;&#108; &#105;&#115; &#97;&#115; &#102;&#111;&#108;&#108;&#111;w&#115;. &#70;&#105;&#114;&#115;&#116; &#116;&#104;&#101; &#99;&#108;&#105;&#101;&#110;&#116; &#111;&#112;&#101;&#110;&#115; &#97; &#99;&#111;&#110;&#110;&#101;&#99;&#116;&#105;&#111;&#110; &#116;&#111; &#116;&#104;&#101; 60 The protocol is as follows. First the client opens a connection to the
61 &#100;&#101;&#98;&#117;&#103;&#103;&#101;&#114; &#97;&#110;&#100; &#116;&#104;&#101;&#110; &#115;&#101;&#110;&#100;&#115; &#97; &#115;&#101;&#114;&#105;&#101;&#115; &#111;&#102; &#111;&#110;&#101; &#108;&#105;&#110;&#101; &#99;&#111;&#109;&#109;&#97;&#110;&#100;&#115;. &#65; &#99;&#111;&#109;&#109;&#97;&#110;&#100; &#105;&#115; &#101;&#105;&#116;&#104;&#101;&#114; 61 debugger and then sends a series of one line commands. A command is either
62 &&#103;&#116;&#59;&#76;&#111;&#97;&#100;&&#108;&#116;&#59;, &&#103;&#116;&#59;&#83;&#116;&#101;&#112;&&#108;&#116;&#59;, &&#103;&#116;&#59;&#83;&#116;&#101;&#112;&#73;&#110;&#116;&#111;&&#108;&#116;&#59;, ... &#111;&#114; &#97; &#82;&#117;&#98;y &#115;&#116;&#97;&#116;&#101;&#109;&#101;&#110;&#116;. 62 &gt;Load&lt;, &gt;Step&lt;, &gt;StepInto&lt;, ... or a Ruby statement.
63 &#83;&#101;&#101; &#68;&#101;&#98;&#117;&#103;&#80;&#114;&#111;&#116;&#111;&#99;&#111;&#108;.&#114;&#98; &#102;&#111;&#114; &#97; &#108;&#105;&#115;&#116;&#105;&#110;&#103; &#111;&#102; v&#97;&#108;&#105;&#100; &#112;&#114;&#111;&#116;&#111;&#99;&#111;&#108; &#116;&#111;&#107;&#101;&#110;&#115;. 63 See DebugProtocol.rb for a listing of valid protocol tokens.
64 </p><p> 64 </p><p>
65 &#65; &#82;&#117;&#98;y &#115;&#116;&#97;&#116;&#101;&#109;&#101;&#110;&#116; &#99;&#111;&#110;&#115;&#105;&#115;&#116;&#115; &#111;&#102; &#116;&#104;&#101; &#115;&#116;&#97;&#116;&#101;&#109;&#101;&#110;&#116; &#116;&#111; &#101;x&#101;&#99;&#117;&#116;&#101;, &#102;&#111;&#108;&#108;&#111;w&#101;&#100; (&#105;&#110; &#97; 65 A Ruby statement consists of the statement to execute, followed (in a
66 &#115;&#101;&#112;&#97;&#114;&#97;&#116;&#101; &#108;&#105;&#110;&#101;) &#98;y &&#103;&#116;&#59;&#79;&#75;&#63;&&#108;&#116;&#59;. &#73;&#102; &#116;&#104;&#101; &#115;&#116;&#97;&#116;&#101;&#109;&#101;&#110;&#116; w&#97;&#115; &#105;&#110;&#99;&#111;&#109;&#112;&#108;&#101;&#116;&#101; &#116;&#104;&#101;&#110; &#116;&#104;&#101; &#114;&#101;&#115;&#112;&#111;&#110;&#115;&#101; 66 separate line) by &gt;OK?&lt;. If the statement was incomplete then the response
67 &#105;&#115; &&#103;&#116;&#59;&#67;&#111;&#110;&#116;&#105;&#110;&#117;&#101;&&#108;&#116;&#59;. &#73;&#102; &#116;&#104;&#101;&#114;&#101; w&#97;&#115; &#97;&#110; &#101;x&#99;&#101;&#112;&#116;&#105;&#111;&#110; &#116;&#104;&#101;&#110; &#116;&#104;&#101; &#114;&#101;&#115;&#112;&#111;&#110;&#115;&#101; &#105;&#115; &&#103;&#116;&#59;&#69;x&#99;&#101;&#112;&#116;&#105;&#111;&#110;&&#108;&#116;&#59;. 67 is &gt;Continue&lt;. If there was an exception then the response is &gt;Exception&lt;.
68 &#79;&#116;&#104;&#101;&#114;w&#105;&#115;&#101; &#116;&#104;&#101; &#114;&#101;&#115;&#112;&#111;&#110;&#115;&#101; &#105;&#115; &&#103;&#116;&#59;&#79;&#75;&&#108;&#116;&#59;. &#84;&#104;&#101; &#114;&#101;&#97;&#115;&#111;&#110; &#102;&#111;&#114; &#116;&#104;&#101; &&#103;&#116;&#59;&#79;&#75;&#63;&&#108;&#116;&#59; &#112;&#97;&#114;&#116; &#105;&#115; &#116;&#111; 68 Otherwise the response is &gt;OK&lt;. The reason for the &gt;OK?&lt; part is to
69 &#112;&#114;&#111;v&#105;&#100;&#101; &#97; &#115;&#101;&#110;&#116;&#105;&#110;&#97;&#108; (&#105;&#101;. &#116;&#104;&#101; &#114;&#101;&#115;&#112;&#111;&#110;&#100;&#105;&#110;&#103; &&#103;&#116;&#59;&#79;&#75;&&#108;&#116;&#59;) &#97;&#102;&#116;&#101;&#114; &#97;&#110;y &#112;&#111;&#115;&#115;&#105;&#98;&#108;&#101; &#111;&#117;&#116;&#112;&#117;&#116; &#97;&#115; &#97; 69 provide a sentinal (ie. the responding &gt;OK&lt;) after any possible output as a
70 &#114;&#101;&#115;&#117;&#108;&#116; &#111;&#102; &#101;x&#101;&#99;&#117;&#116;&#105;&#110;&#103; &#116;&#104;&#101; &#99;&#111;&#109;&#109;&#97;&#110;&#100;. 70 result of executing the command.
71 </p><p> 71 </p><p>
72 &#84;&#104;&#101; &#99;&#108;&#105;&#101;&#110;&#116; &#109;&#97;y &#115;&#101;&#110;&#100; &#97;&#110;y &#111;&#116;&#104;&#101;&#114; &#108;&#105;&#110;&#101;&#115; &#97;&#116; &#97;&#110;y &#111;&#116;&#104;&#101;&#114; &#116;&#105;&#109;&#101; w&#104;&#105;&#99;&#104; &#115;&#104;&#111;&#117;&#108;&#100; &#98;&#101; 72 The client may send any other lines at any other time which should be
73 &#105;&#110;&#116;&#101;&#114;&#112;&#114;&#101;&#116;&#101;&#100; &#97;&#115; &#112;&#114;&#111;&#103;&#114;&#97;&#109; &#111;&#117;&#116;&#112;&#117;&#116;. 73 interpreted as program output.
74 </p><p> 74 </p><p>
75 &#73;&#102; &#116;&#104;&#101; &#100;&#101;&#98;&#117;&#103;&#103;&#101;&#114; &#99;&#108;&#111;&#115;&#101;&#115; &#116;&#104;&#101; &#115;&#101;&#115;&#115;&#105;&#111;&#110; &#116;&#104;&#101;&#114;&#101; &#105;&#115; &#110;&#111; &#114;&#101;&#115;&#112;&#111;&#110;&#115;&#101; &#102;&#114;&#111;&#109; &#116;&#104;&#101; &#99;&#108;&#105;&#101;&#110;&#116;. 75 If the debugger closes the session there is no response from the client.
76 &#84;&#104;&#101; &#99;&#108;&#105;&#101;&#110;&#116; &#109;&#97;y &#99;&#108;&#111;&#115;&#101; &#116;&#104;&#101; &#115;&#101;&#115;&#115;&#105;&#111;&#110; &#97;&#116; &#97;&#110;y &#116;&#105;&#109;&#101; &#97;&#115; &#97; &#114;&#101;&#115;&#117;&#108;&#116; &#111;&#102; &#116;&#104;&#101; &#115;&#99;&#114;&#105;&#112;&#116; 76 The client may close the session at any time as a result of the script
77 &#98;&#101;&#105;&#110;&#103; &#100;&#101;&#98;&#117;&#103;&#103;&#101;&#100; &#99;&#108;&#111;&#115;&#105;&#110;&#103; &#111;&#114; &#99;&#114;&#97;&#115;&#104;&#105;&#110;&#103;. 77 being debugged closing or crashing.
78 </p><p> 78 </p><p>
79 &#60;&#98;&#62;&#78;&#111;&#116;&#101;&#60;/&#98;&#62;&#58; &#84;&#104;&#105;&#115; &#109;&#111;&#100;&#117;&#108;&#101; &#105;&#115; &#109;&#101;&#97;&#110;&#116; &#116;&#111; &#98;&#101; &#109;&#105;x&#101;&#100; &#105;&#110; &#98;y &#105;&#110;&#100;&#105;v&#105;&#100;&#117;&#97;&#108; &#68;&#101;&#98;&#117;&#103;&#67;&#108;&#105;&#101;&#110;&#116; &#99;&#108;&#97;&#115;&#115;&#101;&#115;. 79 <b>Note</b>: This module is meant to be mixed in by individual DebugClient classes.
80 &#68;&#111; &#110;&#111;&#116; &#117;&#115;&#101; &#105;&#116; &#100;&#105;&#114;&#101;&#99;&#116;&#108;y. 80 Do not use it directly.
81 </p> 81 </p>
82 <h3>Module Attributes</h3> 82 <h3>Module Attributes</h3>
83 <table> 83 <table>
84 <tr><td>@@clientCapabilities</td></tr> 84 <tr><td>@@clientCapabilities</td></tr>
85 </table> 85 </table>
89 </table> 89 </table>
90 <h3>Functions</h3> 90 <h3>Functions</h3>
91 <table> 91 <table>
92 <tr> 92 <tr>
93 <td><a href="#DebugClientBase.canEval?">canEval?</a></td> 93 <td><a href="#DebugClientBase.canEval?">canEval?</a></td>
94 <td>&#80;&#114;&#105;v&#97;&#116;&#101; &#109;&#101;&#116;&#104;&#111;&#100; &#116;&#111; &#99;&#104;&#101;&#99;&#107; &#105;&#102; &#116;&#104;&#101; &#98;&#117;&#102;&#102;&#101;&#114;'&#115; &#99;&#111;&#110;&#116;&#101;&#110;&#116;&#115; &#99;&#97;&#110; &#98;&#101; &#101;v&#97;&#108;&#117;&#97;&#116;&#101;&#100;.</td> 94 <td>Private method to check if the buffer's contents can be evaluated.</td>
95 </tr><tr> 95 </tr><tr>
96 <td><a href="#DebugClientBase.completionList">completionList</a></td> 96 <td><a href="#DebugClientBase.completionList">completionList</a></td>
97 <td>&#77;&#101;&#116;&#104;&#111;&#100; &#117;&#115;&#101;&#100; &#116;&#111; &#104;&#97;&#110;&#100;&#108;&#101; &#116;&#104;&#101; &#99;&#111;&#109;&#109;&#97;&#110;&#100; &#99;&#111;&#109;&#112;&#108;&#101;&#116;&#105;&#111;&#110; &#114;&#101;&#113;&#117;&#101;&#115;&#116;</td> 97 <td>Method used to handle the command completion request</td>
98 </tr><tr> 98 </tr><tr>
99 <td><a href="#DebugClientBase.connectDebugger">connectDebugger</a></td> 99 <td><a href="#DebugClientBase.connectDebugger">connectDebugger</a></td>
100 <td>&#80;&#117;&#98;&#108;&#105;&#99; &#109;&#101;&#116;&#104;&#111;&#100; &#116;&#111; &#101;&#115;&#116;&#97;&#98;&#108;&#105;&#115;&#104; &#97; &#115;&#101;&#115;&#115;&#105;&#111;&#110; w&#105;&#116;&#104; &#116;&#104;&#101; &#100;&#101;&#98;&#117;&#103;&#103;&#101;&#114;.</td> 100 <td>Public method to establish a session with the debugger.</td>
101 </tr><tr> 101 </tr><tr>
102 <td><a href="#DebugClientBase.dumpVariable">dumpVariable</a></td> 102 <td><a href="#DebugClientBase.dumpVariable">dumpVariable</a></td>
103 <td>&#80;&#114;&#105;v&#97;&#116;&#101; &#109;&#101;&#116;&#104;&#111;&#100; &#116;&#111; &#114;&#101;&#116;&#117;&#114;&#110; &#116;&#104;&#101; v&#97;&#114;&#105;&#97;&#98;&#108;&#101;&#115; &#111;&#102; &#97; &#102;&#114;&#97;&#109;&#101; &#116;&#111; &#116;&#104;&#101; &#100;&#101;&#98;&#117;&#103; &#115;&#101;&#114;v&#101;&#114;.</td> 103 <td>Private method to return the variables of a frame to the debug server.</td>
104 </tr><tr> 104 </tr><tr>
105 <td><a href="#DebugClientBase.dumpVariables">dumpVariables</a></td> 105 <td><a href="#DebugClientBase.dumpVariables">dumpVariables</a></td>
106 <td>&#80;&#114;&#105;v&#97;&#116;&#101; &#109;&#101;&#116;&#104;&#111;&#100; &#116;&#111; &#114;&#101;&#116;&#117;&#114;&#110; &#116;&#104;&#101; v&#97;&#114;&#105;&#97;&#98;&#108;&#101;&#115; &#111;&#102; &#97; &#102;&#114;&#97;&#109;&#101; &#116;&#111; &#116;&#104;&#101; &#100;&#101;&#98;&#117;&#103; &#115;&#101;&#114;v&#101;&#114;.</td> 106 <td>Private method to return the variables of a frame to the debug server.</td>
107 </tr><tr> 107 </tr><tr>
108 <td><a href="#DebugClientBase.eventLoop">eventLoop</a></td> 108 <td><a href="#DebugClientBase.eventLoop">eventLoop</a></td>
109 <td>&#80;&#114;&#105;v&#97;&#116;&#101; &#109;&#101;&#116;&#104;&#111;&#100; &#105;&#109;&#112;&#108;&#101;&#109;&#101;&#110;&#116;&#105;&#110;&#103; &#111;&#117;&#114; &#101;v&#101;&#110;&#116; &#108;&#111;&#111;&#112;.</td> 109 <td>Private method implementing our event loop.</td>
110 </tr><tr> 110 </tr><tr>
111 <td><a href="#DebugClientBase.eventPoll">eventPoll</a></td> 111 <td><a href="#DebugClientBase.eventPoll">eventPoll</a></td>
112 <td>&#80;&#114;&#105;v&#97;&#116;&#101; &#109;&#101;&#116;&#104;&#111;&#100; &#116;&#111; &#112;&#111;&#108;&#108; &#102;&#111;&#114; &#101;v&#101;&#110;&#116;&#115; &#108;&#105;&#107;&#101; '&#115;&#101;&#116; &#98;&#114;&#101;&#97;&#107; &#112;&#111;&#105;&#110;&#116;'.</td> 112 <td>Private method to poll for events like 'set break point'.</td>
113 </tr><tr> 113 </tr><tr>
114 <td><a href="#DebugClientBase.extractAddress">extractAddress</a></td> 114 <td><a href="#DebugClientBase.extractAddress">extractAddress</a></td>
115 <td>&#80;&#114;&#105;v&#97;&#116;&#101; &#109;&#101;&#116;&#104;&#111;&#100; &#116;&#111; &#101;x&#116;&#114;&#97;&#99;&#116; &#116;&#104;&#101; &#97;&#100;&#100;&#114;&#101;&#115;&#115; &#112;&#97;&#114;&#116; &#111;&#102; &#97;&#110; &#111;&#98;&#106;&#101;&#99;&#116; &#100;&#101;&#115;&#99;&#114;&#105;&#112;&#116;&#105;&#111;&#110;.</td> 115 <td>Private method to extract the address part of an object description.</td>
116 </tr><tr> 116 </tr><tr>
117 <td><a href="#DebugClientBase.extractTypeAndAddress">extractTypeAndAddress</a></td> 117 <td><a href="#DebugClientBase.extractTypeAndAddress">extractTypeAndAddress</a></td>
118 <td>&#80;&#114;&#105;v&#97;&#116;&#101; &#109;&#101;&#116;&#104;&#111;&#100; &#116;&#111; &#101;x&#116;&#114;&#97;&#99;&#116; &#116;&#104;&#101; &#97;&#100;&#100;&#114;&#101;&#115;&#115; &#97;&#110;&#100; &#116;y&#112;&#101; &#112;&#97;&#114;&#116;&#115; &#111;&#102; &#97;&#110; &#111;&#98;&#106;&#101;&#99;&#116; &#100;&#101;&#115;&#99;&#114;&#105;&#112;&#116;&#105;&#111;&#110;.</td> 118 <td>Private method to extract the address and type parts of an object description.</td>
119 </tr><tr> 119 </tr><tr>
120 <td><a href="#DebugClientBase.formatVariablesList">formatVariablesList</a></td> 120 <td><a href="#DebugClientBase.formatVariablesList">formatVariablesList</a></td>
121 <td>&#80;&#114;&#105;v&#97;&#116;&#101; &#109;&#101;&#116;&#104;&#111;&#100; &#116;&#111; &#112;&#114;&#111;&#100;&#117;&#99;&#101; &#97; &#102;&#111;&#114;&#109;&#97;&#116;&#101;&#100; v&#97;&#114;&#105;&#97;&#98;&#108;&#101;&#115; &#108;&#105;&#115;&#116;.</td> 121 <td>Private method to produce a formated variables list.</td>
122 </tr><tr> 122 </tr><tr>
123 <td><a href="#DebugClientBase.generateFilterObjects">generateFilterObjects</a></td> 123 <td><a href="#DebugClientBase.generateFilterObjects">generateFilterObjects</a></td>
124 <td>&#80;&#114;&#105;v&#97;&#116;&#101; &#109;&#101;&#116;&#104;&#111;&#100; &#116;&#111; &#99;&#111;&#110;v&#101;&#114;&#116; &#97; &#102;&#105;&#108;&#116;&#101;&#114; &#115;&#116;&#114;&#105;&#110;&#103; &#116;&#111; &#97; &#108;&#105;&#115;&#116; &#111;&#102; &#102;&#105;&#108;&#116;&#101;&#114; &#111;&#98;&#106;&#101;&#99;&#116;&#115;.</td> 124 <td>Private method to convert a filter string to a list of filter objects.</td>
125 </tr><tr> 125 </tr><tr>
126 <td><a href="#DebugClientBase.handleException">handleException</a></td> 126 <td><a href="#DebugClientBase.handleException">handleException</a></td>
127 <td>&#80;&#114;&#105;v&#97;&#116;&#101; &#109;&#101;&#116;&#104;&#111;&#100; &#99;&#97;&#108;&#108;&#101;&#100; &#105;&#110; &#116;&#104;&#101; &#99;&#97;&#115;&#101; &#111;&#102; &#97;&#110; &#101;x&#99;&#101;&#112;&#116;&#105;&#111;&#110;</td> 127 <td>Private method called in the case of an exception</td>
128 </tr><tr> 128 </tr><tr>
129 <td><a href="#DebugClientBase.handleLine">handleLine</a></td> 129 <td><a href="#DebugClientBase.handleLine">handleLine</a></td>
130 <td>&#80;&#114;&#105;v&#97;&#116;&#101; &#109;&#101;&#116;&#104;&#111;&#100; &#116;&#111; &#104;&#97;&#110;&#100;&#108;&#101; &#116;&#104;&#101; &#114;&#101;&#99;&#101;&#105;&#112;&#116; &#111;&#102; &#97; &#99;&#111;&#109;&#112;&#108;&#101;&#116;&#101; &#108;&#105;&#110;&#101;.</td> 130 <td>Private method to handle the receipt of a complete line.</td>
131 </tr><tr> 131 </tr><tr>
132 <td><a href="#DebugClientBase.inFilter?">inFilter?</a></td> 132 <td><a href="#DebugClientBase.inFilter?">inFilter?</a></td>
133 <td>&#80;&#114;&#105;v&#97;&#116;&#101; &#109;&#101;&#116;&#104;&#111;&#100; &#116;&#111; &#99;&#104;&#101;&#99;&#107;, &#105;&#102; &#97; v&#97;&#114;&#105;&#97;&#98;&#108;&#101; &#105;&#115; &#116;&#111; &#98;&#101; &#102;&#105;&#108;&#116;&#101;&#114;&#101;&#100; &#98;&#97;&#115;&#101;&#100; &#111;&#110; &#105;&#116;&#115; &#116;y&#112;&#101;.</td> 133 <td>Private method to check, if a variable is to be filtered based on its type.</td>
134 </tr><tr> 134 </tr><tr>
135 <td><a href="#DebugClientBase.initializeDebugClient">initializeDebugClient</a></td> 135 <td><a href="#DebugClientBase.initializeDebugClient">initializeDebugClient</a></td>
136 <td>&#77;&#101;&#116;&#104;&#111;&#100; &#116;&#111; &#105;&#110;&#105;&#116;&#105;&#97;&#108;&#105;z&#101; &#116;&#104;&#101; &#109;&#111;&#100;&#117;&#108;&#101;</td> 136 <td>Method to initialize the module</td>
137 </tr><tr> 137 </tr><tr>
138 <td><a href="#DebugClientBase.interact">interact</a></td> 138 <td><a href="#DebugClientBase.interact">interact</a></td>
139 <td>&#80;&#114;&#105;v&#97;&#116;&#101; &#109;&#101;&#116;&#104;&#111;&#100; &#116;&#111; &#73;&#110;&#116;&#101;&#114;&#97;&#99;&#116; w&#105;&#116;&#104; &#116;&#104;&#101; &#100;&#101;&#98;&#117;&#103;&#103;&#101;&#114;.</td> 139 <td>Private method to Interact with the debugger.</td>
140 </tr><tr> 140 </tr><tr>
141 <td><a href="#DebugClientBase.main">main</a></td> 141 <td><a href="#DebugClientBase.main">main</a></td>
142 <td>&#80;&#117;&#98;&#108;&#105;&#99; &#109;&#101;&#116;&#104;&#111;&#100; &#105;&#109;&#112;&#108;&#101;&#109;&#101;&#110;&#116;&#105;&#110;&#103; &#116;&#104;&#101; &#109;&#97;&#105;&#110; &#109;&#101;&#116;&#104;&#111;&#100;.</td> 142 <td>Public method implementing the main method.</td>
143 </tr><tr> 143 </tr><tr>
144 <td><a href="#DebugClientBase.progTerminated">progTerminated</a></td> 144 <td><a href="#DebugClientBase.progTerminated">progTerminated</a></td>
145 <td>&#80;&#114;&#105;v&#97;&#116;&#101; &#109;&#101;&#116;&#104;&#111;&#100; &#116;&#111; &#116;&#101;&#108;&#108; &#116;&#104;&#101; &#100;&#101;&#98;&#117;&#103;&#103;&#101;&#114; &#116;&#104;&#97;&#116; &#116;&#104;&#101; &#112;&#114;&#111;&#103;&#114;&#97;&#109; &#104;&#97;&#115; &#116;&#101;&#114;&#109;&#105;&#110;&#97;&#116;&#101;&#100;.</td> 145 <td>Private method to tell the debugger that the program has terminated.</td>
146 </tr><tr> 146 </tr><tr>
147 <td><a href="#DebugClientBase.sessionClose">sessionClose</a></td> 147 <td><a href="#DebugClientBase.sessionClose">sessionClose</a></td>
148 <td>&#80;&#114;&#105;v&#97;&#116; &#109;&#101;&#116;&#104;&#111;&#100; &#116;&#111; &#99;&#108;&#111;&#115;&#101; &#116;&#104;&#101; &#115;&#101;&#115;&#115;&#105;&#111;&#110; w&#105;&#116;&#104; &#116;&#104;&#101; &#100;&#101;&#98;&#117;&#103;&#103;&#101;&#114; &#97;&#110;&#100; &#116;&#101;&#114;&#109;&#105;&#110;&#97;&#116;&#101;.</td> 148 <td>Privat method to close the session with the debugger and terminate.</td>
149 </tr><tr> 149 </tr><tr>
150 <td><a href="#DebugClientBase.startProgInDebugger">startProgInDebugger</a></td> 150 <td><a href="#DebugClientBase.startProgInDebugger">startProgInDebugger</a></td>
151 <td>&#77;&#101;&#116;&#104;&#111;&#100; &#117;&#115;&#101;&#100; &#116;&#111; &#115;&#116;&#97;&#114;&#116; &#116;&#104;&#101; &#114;&#101;&#109;&#111;&#116;&#101; &#100;&#101;&#98;&#117;&#103;&#103;&#101;&#114;.</td> 151 <td>Method used to start the remote debugger.</td>
152 </tr><tr> 152 </tr><tr>
153 <td><a href="#DebugClientBase.trace_func">trace_func</a></td> 153 <td><a href="#DebugClientBase.trace_func">trace_func</a></td>
154 <td>&#77;&#101;&#116;&#104;&#111;&#100; &#101;x&#101;&#99;&#117;&#116;&#101;&#100; &#98;y &#116;&#104;&#101; &#116;&#114;&#97;&#99;&#105;&#110;&#103; &#102;&#97;&#99;&#105;&#108;&#105;&#116;y.</td> 154 <td>Method executed by the tracing facility.</td>
155 </tr><tr> 155 </tr><tr>
156 <td><a href="#DebugClientBase.unhandled_exception">unhandled_exception</a></td> 156 <td><a href="#DebugClientBase.unhandled_exception">unhandled_exception</a></td>
157 <td>&#80;&#114;&#105;v&#97;&#116;&#101; &#109;&#101;&#116;&#104;&#111;&#100; &#116;&#111; &#114;&#101;&#112;&#111;&#114;&#116; &#97;&#110; &#117;&#110;&#104;&#97;&#110;&#100;&#108;&#101;&#100; &#101;x&#99;&#101;&#112;&#116;&#105;&#111;&#110;.</td> 157 <td>Private method to report an unhandled exception.</td>
158 </tr><tr> 158 </tr><tr>
159 <td><a href="#DebugClientBase.write">write</a></td> 159 <td><a href="#DebugClientBase.write">write</a></td>
160 <td>&#80;&#114;&#105;v&#97;&#116;&#101; &#109;&#101;&#116;&#104;&#111;&#100; &#116;&#111; w&#114;&#105;&#116;&#101; &#100;&#97;&#116;&#97; &#116;&#111; &#116;&#104;&#101; &#111;&#117;&#116;&#112;&#117;&#116; &#115;&#116;&#114;&#101;&#97;&#109;.</td> 160 <td>Private method to write data to the output stream.</td>
161 </tr> 161 </tr>
162 </table> 162 </table>
163 <hr /> 163 <hr />
164 164
165 <a NAME="DebugClientBase.canEval?" ID="DebugClientBase.canEval?"></a> 165 <a NAME="DebugClientBase.canEval?" ID="DebugClientBase.canEval?"></a>
166 <h4>DebugClientBase.canEval?</h4> 166 <h4>DebugClientBase.canEval?</h4>
167 <b>canEval?</b>(<i></i>) 167 <b>canEval?</b>(<i></i>)
168 <p> 168 <p>
169 &#80;&#114;&#105;v&#97;&#116;&#101; &#109;&#101;&#116;&#104;&#111;&#100; &#116;&#111; &#99;&#104;&#101;&#99;&#107; &#105;&#102; &#116;&#104;&#101; &#98;&#117;&#102;&#102;&#101;&#114;'&#115; &#99;&#111;&#110;&#116;&#101;&#110;&#116;&#115; &#99;&#97;&#110; &#98;&#101; &#101;v&#97;&#108;&#117;&#97;&#116;&#101;&#100;. 169 Private method to check if the buffer's contents can be evaluated.
170 </p><dl> 170 </p><dl>
171 <dt>Returns:</dt> 171 <dt>Returns:</dt>
172 <dd> 172 <dd>
173 &#102;&#108;&#97;&#103; &#105;&#110;&#100;&#105;&#99;&#97;&#116;&#105;&#110;&#103; &#105;&#102; &#97;&#110; &#101;v&#97;&#108; &#109;&#105;&#103;&#104;&#116; &#115;&#117;&#99;&#99;&#101;&#101;&#100; (&#98;&#111;&#111;&#108;&#101;&#97;&#110;) 173 flag indicating if an eval might succeed (boolean)
174 </dd> 174 </dd>
175 </dl><a NAME="DebugClientBase.completionList" ID="DebugClientBase.completionList"></a> 175 </dl><a NAME="DebugClientBase.completionList" ID="DebugClientBase.completionList"></a>
176 <h4>DebugClientBase.completionList</h4> 176 <h4>DebugClientBase.completionList</h4>
177 <b>completionList</b>(<i></i>) 177 <b>completionList</b>(<i></i>)
178 <p> 178 <p>
179 &#77;&#101;&#116;&#104;&#111;&#100; &#117;&#115;&#101;&#100; &#116;&#111; &#104;&#97;&#110;&#100;&#108;&#101; &#116;&#104;&#101; &#99;&#111;&#109;&#109;&#97;&#110;&#100; &#99;&#111;&#109;&#112;&#108;&#101;&#116;&#105;&#111;&#110; &#114;&#101;&#113;&#117;&#101;&#115;&#116; 179 Method used to handle the command completion request
180 </p><dl> 180 </p><dl>
181 <dt><i>text</i></dt> 181 <dt><i>text</i></dt>
182 <dd> 182 <dd>
183 &#116;&#104;&#101; &#116;&#101;x&#116; &#116;&#111; &#98;&#101; &#99;&#111;&#109;&#112;&#108;&#101;&#116;&#101;&#100; (&#115;&#116;&#114;&#105;&#110;&#103;) 183 the text to be completed (string)
184 </dd> 184 </dd>
185 </dl><a NAME="DebugClientBase.connectDebugger" ID="DebugClientBase.connectDebugger"></a> 185 </dl><a NAME="DebugClientBase.connectDebugger" ID="DebugClientBase.connectDebugger"></a>
186 <h4>DebugClientBase.connectDebugger</h4> 186 <h4>DebugClientBase.connectDebugger</h4>
187 <b>connectDebugger</b>(<i>remoteAddress=nil, redirect=true</i>) 187 <b>connectDebugger</b>(<i>remoteAddress=nil, redirect=true</i>)
188 <p> 188 <p>
189 &#80;&#117;&#98;&#108;&#105;&#99; &#109;&#101;&#116;&#104;&#111;&#100; &#116;&#111; &#101;&#115;&#116;&#97;&#98;&#108;&#105;&#115;&#104; &#97; &#115;&#101;&#115;&#115;&#105;&#111;&#110; w&#105;&#116;&#104; &#116;&#104;&#101; &#100;&#101;&#98;&#117;&#103;&#103;&#101;&#114;. 189 Public method to establish a session with the debugger.
190 </p><p> 190 </p><p>
191 &#73;&#116; &#111;&#112;&#101;&#110;&#115; &#97; &#110;&#101;&#116;w&#111;&#114;&#107; &#99;&#111;&#110;&#110;&#101;&#99;&#116;&#105;&#111;&#110; &#116;&#111; &#116;&#104;&#101; &#100;&#101;&#98;&#117;&#103;&#103;&#101;&#114;, &#99;&#111;&#110;&#110;&#101;&#99;&#116;&#115; &#105;&#116; &#116;&#111; &#115;&#116;&#100;&#105;&#110;, 191 It opens a network connection to the debugger, connects it to stdin,
192 &#115;&#116;&#100;&#111;&#117;&#116; &#97;&#110;&#100; &#115;&#116;&#100;&#101;&#114;&#114; &#97;&#110;&#100; &#115;&#97;v&#101;&#115; &#116;&#104;&#101;&#115;&#101; &#102;&#105;&#108;&#101; &#111;&#98;&#106;&#101;&#99;&#116;&#115; &#105;&#110; &#99;&#97;&#115;&#101; &#116;&#104;&#101; &#97;&#112;&#112;&#108;&#105;&#99;&#97;&#116;&#105;&#111;&#110; 192 stdout and stderr and saves these file objects in case the application
193 &#98;&#101;&#105;&#110;&#103; &#100;&#101;&#98;&#117;&#103;&#103;&#101;&#100; &#114;&#101;&#100;&#105;&#114;&#101;&#99;&#116;&#115; &#116;&#104;&#101;&#109; &#105;&#116;&#115;&#101;&#108;&#102;. 193 being debugged redirects them itself.
194 </p><dl> 194 </p><dl>
195 <dt><i>port</i></dt> 195 <dt><i>port</i></dt>
196 <dd> 196 <dd>
197 &#116;&#104;&#101; &#112;&#111;&#114;&#116; &#110;&#117;&#109;&#98;&#101;&#114; &#116;&#111; &#99;&#111;&#110;&#110;&#101;&#99;&#116; &#116;&#111; (&#105;&#110;&#116;) 197 the port number to connect to (int)
198 </dd><dt><i>remoteAddress</i></dt> 198 </dd><dt><i>remoteAddress</i></dt>
199 <dd> 199 <dd>
200 &#116;&#104;&#101; &#110;&#101;&#116;w&#111;&#114;&#107; &#97;&#100;&#100;&#114;&#101;&#115;&#115; &#111;&#102; &#116;&#104;&#101; &#100;&#101;&#98;&#117;&#103; &#115;&#101;&#114;v&#101;&#114; &#104;&#111;&#115;&#116; (&#115;&#116;&#114;&#105;&#110;&#103;) 200 the network address of the debug server host (string)
201 </dd><dt><i>redirect</i></dt> 201 </dd><dt><i>redirect</i></dt>
202 <dd> 202 <dd>
203 &#102;&#108;&#97;&#103; &#105;&#110;&#100;&#105;&#99;&#97;&#116;&#105;&#110;&#103; &#114;&#101;&#100;&#105;&#114;&#101;&#99;&#116;&#105;&#111;&#110; &#111;&#102; &#115;&#116;&#100;&#105;&#110;, &#115;&#116;&#100;&#111;&#117;&#116; &#97;&#110;&#100; &#115;&#116;&#100;&#101;&#114;&#114; (&#98;&#111;&#111;&#108;&#101;&#97;&#110;) 203 flag indicating redirection of stdin, stdout and stderr (boolean)
204 </dd> 204 </dd>
205 </dl><a NAME="DebugClientBase.dumpVariable" ID="DebugClientBase.dumpVariable"></a> 205 </dl><a NAME="DebugClientBase.dumpVariable" ID="DebugClientBase.dumpVariable"></a>
206 <h4>DebugClientBase.dumpVariable</h4> 206 <h4>DebugClientBase.dumpVariable</h4>
207 <b>dumpVariable</b>(<i>frmnr, scope, filter</i>) 207 <b>dumpVariable</b>(<i>frmnr, scope, filter</i>)
208 <p> 208 <p>
209 &#80;&#114;&#105;v&#97;&#116;&#101; &#109;&#101;&#116;&#104;&#111;&#100; &#116;&#111; &#114;&#101;&#116;&#117;&#114;&#110; &#116;&#104;&#101; v&#97;&#114;&#105;&#97;&#98;&#108;&#101;&#115; &#111;&#102; &#97; &#102;&#114;&#97;&#109;&#101; &#116;&#111; &#116;&#104;&#101; &#100;&#101;&#98;&#117;&#103; &#115;&#101;&#114;v&#101;&#114;. 209 Private method to return the variables of a frame to the debug server.
210 </p><dl> 210 </p><dl>
211 <dt><i>var</i></dt> 211 <dt><i>var</i></dt>
212 <dd> 212 <dd>
213 &#108;&#105;&#115;&#116; &#101;&#110;&#99;&#111;&#100;&#101;&#100; &#110;&#97;&#109;&#101; &#111;&#102; &#116;&#104;&#101; &#114;&#101;&#113;&#117;&#101;&#115;&#116;&#101;&#100; v&#97;&#114;&#105;&#97;&#98;&#108;&#101; (&#108;&#105;&#115;&#116; &#111;&#102; &#115;&#116;&#114;&#105;&#110;&#103;&#115;) 213 list encoded name of the requested variable (list of strings)
214 </dd><dt><i>frmnr</i></dt> 214 </dd><dt><i>frmnr</i></dt>
215 <dd> 215 <dd>
216 &#100;&#105;&#115;&#116;&#97;&#110;&#99;&#101; &#111;&#102; &#102;&#114;&#97;&#109;&#101; &#114;&#101;&#112;&#111;&#114;&#116;&#101;&#100; &#111;&#110;. &#48; &#105;&#115; &#116;&#104;&#101; &#99;&#117;&#114;&#114;&#101;&#110;&#116; &#102;&#114;&#97;&#109;&#101; (&#105;&#110;&#116;) 216 distance of frame reported on. 0 is the current frame (int)
217 </dd><dt><i>scope</i></dt> 217 </dd><dt><i>scope</i></dt>
218 <dd> 218 <dd>
219 &#49; &#116;&#111; &#114;&#101;&#112;&#111;&#114;&#116; &#103;&#108;&#111;&#98;&#97;&#108; v&#97;&#114;&#105;&#97;&#98;&#108;&#101;&#115;, &#48; &#102;&#111;&#114; &#108;&#111;&#99;&#97;&#108; v&#97;&#114;&#105;&#97;&#98;&#108;&#101;&#115; (&#105;&#110;&#116;) 219 1 to report global variables, 0 for local variables (int)
220 </dd><dt><i>filter</i></dt> 220 </dd><dt><i>filter</i></dt>
221 <dd> 221 <dd>
222 &#116;&#104;&#101; &#105;&#110;&#100;&#105;&#99;&#101;&#115; &#111;&#102; v&#97;&#114;&#105;&#97;&#98;&#108;&#101; &#116;y&#112;&#101;&#115; &#116;&#111; &#98;&#101; &#102;&#105;&#108;&#116;&#101;&#114;&#101;&#100; (&#108;&#105;&#115;&#116; &#111;&#102; &#105;&#110;&#116;) 222 the indices of variable types to be filtered (list of int)
223 </dd> 223 </dd>
224 </dl><a NAME="DebugClientBase.dumpVariables" ID="DebugClientBase.dumpVariables"></a> 224 </dl><a NAME="DebugClientBase.dumpVariables" ID="DebugClientBase.dumpVariables"></a>
225 <h4>DebugClientBase.dumpVariables</h4> 225 <h4>DebugClientBase.dumpVariables</h4>
226 <b>dumpVariables</b>(<i>scope, filter</i>) 226 <b>dumpVariables</b>(<i>scope, filter</i>)
227 <p> 227 <p>
228 &#80;&#114;&#105;v&#97;&#116;&#101; &#109;&#101;&#116;&#104;&#111;&#100; &#116;&#111; &#114;&#101;&#116;&#117;&#114;&#110; &#116;&#104;&#101; v&#97;&#114;&#105;&#97;&#98;&#108;&#101;&#115; &#111;&#102; &#97; &#102;&#114;&#97;&#109;&#101; &#116;&#111; &#116;&#104;&#101; &#100;&#101;&#98;&#117;&#103; &#115;&#101;&#114;v&#101;&#114;. 228 Private method to return the variables of a frame to the debug server.
229 </p><dl> 229 </p><dl>
230 <dt><i>frmnr</i></dt> 230 <dt><i>frmnr</i></dt>
231 <dd> 231 <dd>
232 &#100;&#105;&#115;&#116;&#97;&#110;&#99;&#101; &#111;&#102; &#102;&#114;&#97;&#109;&#101; &#114;&#101;&#112;&#111;&#114;&#116;&#101;&#100; &#111;&#110;. &#48; &#105;&#115; &#116;&#104;&#101; &#99;&#117;&#114;&#114;&#101;&#110;&#116; &#102;&#114;&#97;&#109;&#101; (&#105;&#110;&#116;) 232 distance of frame reported on. 0 is the current frame (int)
233 </dd><dt><i>scope</i></dt> 233 </dd><dt><i>scope</i></dt>
234 <dd> 234 <dd>
235 &#49; &#116;&#111; &#114;&#101;&#112;&#111;&#114;&#116; &#103;&#108;&#111;&#98;&#97;&#108; v&#97;&#114;&#105;&#97;&#98;&#108;&#101;&#115;, &#48; &#102;&#111;&#114; &#108;&#111;&#99;&#97;&#108; v&#97;&#114;&#105;&#97;&#98;&#108;&#101;&#115; (&#105;&#110;&#116;) 235 1 to report global variables, 0 for local variables (int)
236 </dd><dt><i>filter</i></dt> 236 </dd><dt><i>filter</i></dt>
237 <dd> 237 <dd>
238 &#116;&#104;&#101; &#105;&#110;&#100;&#105;&#99;&#101;&#115; &#111;&#102; v&#97;&#114;&#105;&#97;&#98;&#108;&#101; &#116;y&#112;&#101;&#115; &#116;&#111; &#98;&#101; &#102;&#105;&#108;&#116;&#101;&#114;&#101;&#100; (&#108;&#105;&#115;&#116; &#111;&#102; &#105;&#110;&#116;) 238 the indices of variable types to be filtered (list of int)
239 </dd> 239 </dd>
240 </dl><a NAME="DebugClientBase.eventLoop" ID="DebugClientBase.eventLoop"></a> 240 </dl><a NAME="DebugClientBase.eventLoop" ID="DebugClientBase.eventLoop"></a>
241 <h4>DebugClientBase.eventLoop</h4> 241 <h4>DebugClientBase.eventLoop</h4>
242 <b>eventLoop</b>(<i></i>) 242 <b>eventLoop</b>(<i></i>)
243 <p> 243 <p>
244 &#80;&#114;&#105;v&#97;&#116;&#101; &#109;&#101;&#116;&#104;&#111;&#100; &#105;&#109;&#112;&#108;&#101;&#109;&#101;&#110;&#116;&#105;&#110;&#103; &#111;&#117;&#114; &#101;v&#101;&#110;&#116; &#108;&#111;&#111;&#112;. 244 Private method implementing our event loop.
245 </p><a NAME="DebugClientBase.eventPoll" ID="DebugClientBase.eventPoll"></a> 245 </p><a NAME="DebugClientBase.eventPoll" ID="DebugClientBase.eventPoll"></a>
246 <h4>DebugClientBase.eventPoll</h4> 246 <h4>DebugClientBase.eventPoll</h4>
247 <b>eventPoll</b>(<i></i>) 247 <b>eventPoll</b>(<i></i>)
248 <p> 248 <p>
249 &#80;&#114;&#105;v&#97;&#116;&#101; &#109;&#101;&#116;&#104;&#111;&#100; &#116;&#111; &#112;&#111;&#108;&#108; &#102;&#111;&#114; &#101;v&#101;&#110;&#116;&#115; &#108;&#105;&#107;&#101; '&#115;&#101;&#116; &#98;&#114;&#101;&#97;&#107; &#112;&#111;&#105;&#110;&#116;'. 249 Private method to poll for events like 'set break point'.
250 </p><a NAME="DebugClientBase.extractAddress" ID="DebugClientBase.extractAddress"></a> 250 </p><a NAME="DebugClientBase.extractAddress" ID="DebugClientBase.extractAddress"></a>
251 <h4>DebugClientBase.extractAddress</h4> 251 <h4>DebugClientBase.extractAddress</h4>
252 <b>extractAddress</b>(<i></i>) 252 <b>extractAddress</b>(<i></i>)
253 <p> 253 <p>
254 &#80;&#114;&#105;v&#97;&#116;&#101; &#109;&#101;&#116;&#104;&#111;&#100; &#116;&#111; &#101;x&#116;&#114;&#97;&#99;&#116; &#116;&#104;&#101; &#97;&#100;&#100;&#114;&#101;&#115;&#115; &#112;&#97;&#114;&#116; &#111;&#102; &#97;&#110; &#111;&#98;&#106;&#101;&#99;&#116; &#100;&#101;&#115;&#99;&#114;&#105;&#112;&#116;&#105;&#111;&#110;. 254 Private method to extract the address part of an object description.
255 </p><dl> 255 </p><dl>
256 <dt><i>var</i></dt> 256 <dt><i>var</i></dt>
257 <dd> 257 <dd>
258 &#111;&#98;&#106;&#101;&#99;&#116; &#100;&#101;&#115;&#99;&#114;&#105;&#112;&#116;&#105;&#111;&#110; (&#83;&#116;&#114;&#105;&#110;&#103;) 258 object description (String)
259 </dd> 259 </dd>
260 </dl><dl> 260 </dl><dl>
261 <dt>Returns:</dt> 261 <dt>Returns:</dt>
262 <dd> 262 <dd>
263 &#116;&#104;&#101; &#97;&#100;&#100;&#114;&#101;&#115;&#115; &#99;&#111;&#110;&#116;&#97;&#105;&#110;&#101;&#100; &#105;&#110; &#116;&#104;&#101; &#111;&#98;&#106;&#101;&#99;&#116; &#100;&#101;&#115;&#99;&#114;&#105;&#112;&#116;&#105;&#111;&#110; (&#83;&#116;&#114;&#105;&#110;&#103;) 263 the address contained in the object description (String)
264 </dd> 264 </dd>
265 </dl><a NAME="DebugClientBase.extractTypeAndAddress" ID="DebugClientBase.extractTypeAndAddress"></a> 265 </dl><a NAME="DebugClientBase.extractTypeAndAddress" ID="DebugClientBase.extractTypeAndAddress"></a>
266 <h4>DebugClientBase.extractTypeAndAddress</h4> 266 <h4>DebugClientBase.extractTypeAndAddress</h4>
267 <b>extractTypeAndAddress</b>(<i></i>) 267 <b>extractTypeAndAddress</b>(<i></i>)
268 <p> 268 <p>
269 &#80;&#114;&#105;v&#97;&#116;&#101; &#109;&#101;&#116;&#104;&#111;&#100; &#116;&#111; &#101;x&#116;&#114;&#97;&#99;&#116; &#116;&#104;&#101; &#97;&#100;&#100;&#114;&#101;&#115;&#115; &#97;&#110;&#100; &#116;y&#112;&#101; &#112;&#97;&#114;&#116;&#115; &#111;&#102; &#97;&#110; &#111;&#98;&#106;&#101;&#99;&#116; &#100;&#101;&#115;&#99;&#114;&#105;&#112;&#116;&#105;&#111;&#110;. 269 Private method to extract the address and type parts of an object description.
270 </p><dl> 270 </p><dl>
271 <dt><i>var</i></dt> 271 <dt><i>var</i></dt>
272 <dd> 272 <dd>
273 &#111;&#98;&#106;&#101;&#99;&#116; &#100;&#101;&#115;&#99;&#114;&#105;&#112;&#116;&#105;&#111;&#110; (&#83;&#116;&#114;&#105;&#110;&#103;) 273 object description (String)
274 </dd> 274 </dd>
275 </dl><dl> 275 </dl><dl>
276 <dt>Returns:</dt> 276 <dt>Returns:</dt>
277 <dd> 277 <dd>
278 &#108;&#105;&#115;&#116; &#99;&#111;&#110;&#116;&#97;&#105;&#110;&#105;&#110;&#103; &#116;&#104;&#101; &#116;y&#112;&#101; &#97;&#110;&#100; &#97;&#100;&#100;&#114;&#101;&#115;&#115; &#99;&#111;&#110;&#116;&#97;&#105;&#110;&#101;&#100; &#105;&#110; &#116;&#104;&#101; &#111;&#98;&#106;&#101;&#99;&#116; 278 list containing the type and address contained in the object
279 &#100;&#101;&#115;&#99;&#114;&#105;&#112;&#116;&#105;&#111;&#110; (&#65;&#114;&#114;&#97;y &#111;&#102; &#116;w&#111; &#83;&#116;&#114;&#105;&#110;&#103;) 279 description (Array of two String)
280 </dd> 280 </dd>
281 </dl><a NAME="DebugClientBase.formatVariablesList" ID="DebugClientBase.formatVariablesList"></a> 281 </dl><a NAME="DebugClientBase.formatVariablesList" ID="DebugClientBase.formatVariablesList"></a>
282 <h4>DebugClientBase.formatVariablesList</h4> 282 <h4>DebugClientBase.formatVariablesList</h4>
283 <b>formatVariablesList</b>(<i>binding_, scope, filter = [], excludeSelf = false, access = nil</i>) 283 <b>formatVariablesList</b>(<i>binding_, scope, filter = [], excludeSelf = false, access = nil</i>)
284 <p> 284 <p>
285 &#80;&#114;&#105;v&#97;&#116;&#101; &#109;&#101;&#116;&#104;&#111;&#100; &#116;&#111; &#112;&#114;&#111;&#100;&#117;&#99;&#101; &#97; &#102;&#111;&#114;&#109;&#97;&#116;&#101;&#100; v&#97;&#114;&#105;&#97;&#98;&#108;&#101;&#115; &#108;&#105;&#115;&#116;. 285 Private method to produce a formated variables list.
286 </p><p> 286 </p><p>
287 &#84;&#104;&#101; &#98;&#105;&#110;&#100;&#105;&#110;&#103; &#112;&#97;&#115;&#115;&#101;&#100; &#105;&#110; &#116;&#111; &#105;&#116; &#105;&#115; &#115;&#99;&#97;&#110;&#110;&#101;&#100;. &#86;&#97;&#114;&#105;&#97;&#98;&#108;&#101;&#115; &#97;&#114;&#101; 287 The binding passed in to it is scanned. Variables are
288 &#111;&#110;&#108;y &#97;&#100;&#100;&#101;&#100; &#116;&#111; &#116;&#104;&#101; &#108;&#105;&#115;&#116;, &#105;&#102; &#116;&#104;&#101;&#105;&#114; &#116;y&#112;&#101; &#105;&#115; &#110;&#111;&#116; &#99;&#111;&#110;&#116;&#97;&#105;&#110;&#101;&#100; 288 only added to the list, if their type is not contained
289 &#105;&#110; &#116;&#104;&#101; &#102;&#105;&#108;&#116;&#101;&#114; &#108;&#105;&#115;&#116; &#97;&#110;&#100; &#116;&#104;&#101;&#105;&#114; &#110;&#97;&#109;&#101; &#100;&#111;&#101;&#115;&#110;'&#116; &#109;&#97;&#116;&#99;&#104; &#97;&#110;y &#111;&#102; &#116;&#104;&#101; &#102;&#105;&#108;&#116;&#101;&#114; &#101;x&#112;&#114;&#101;&#115;&#115;&#105;&#111;&#110;&#115;. 289 in the filter list and their name doesn't match any of the filter expressions.
290 &#84;&#104;&#101; &#102;&#111;&#114;&#109;&#97;&#116;&#101;&#100; v&#97;&#114;&#105;&#97;&#98;&#108;&#101;&#115; &#108;&#105;&#115;&#116; (&#97; &#108;&#105;&#115;&#116; &#111;&#102; &#108;&#105;&#115;&#116;&#115; &#111;&#102; &#51; v&#97;&#108;&#117;&#101;&#115;) &#105;&#115; &#114;&#101;&#116;&#117;&#114;&#110;&#101;&#100;. 290 The formated variables list (a list of lists of 3 values) is returned.
291 </p><dl> 291 </p><dl>
292 <dt><i>keylist</i></dt> 292 <dt><i>keylist</i></dt>
293 <dd> 293 <dd>
294 &#107;&#101;y&#115; &#111;&#102; &#116;&#104;&#101; &#100;&#105;&#99;&#116;&#105;&#111;&#110;&#97;&#114;y 294 keys of the dictionary
295 </dd><dt><i>binding_</i></dt> 295 </dd><dt><i>binding_</i></dt>
296 <dd> 296 <dd>
297 &#116;&#104;&#101; &#98;&#105;&#110;&#100;&#105;&#110;&#103; &#116;&#111; &#98;&#101; &#115;&#99;&#97;&#110;&#110;&#101;&#100; 297 the binding to be scanned
298 </dd><dt><i>scope</i></dt> 298 </dd><dt><i>scope</i></dt>
299 <dd> 299 <dd>
300 &#49; &#116;&#111; &#102;&#105;&#108;&#116;&#101;&#114; &#117;&#115;&#105;&#110;&#103; &#116;&#104;&#101; &#103;&#108;&#111;&#98;&#97;&#108;&#115; &#102;&#105;&#108;&#116;&#101;&#114;, &#48; &#117;&#115;&#105;&#110;&#103; &#116;&#104;&#101; &#108;&#111;&#99;&#97;&#108;&#115; &#102;&#105;&#108;&#116;&#101;&#114; (&#105;&#110;&#116;). 300 1 to filter using the globals filter, 0 using the locals filter (int).
301 &#86;&#97;&#114;&#105;&#97;&#98;&#108;&#101;&#115; &#97;&#114;&#101; &#111;&#110;&#108;y &#97;&#100;&#100;&#101;&#100; &#116;&#111; &#116;&#104;&#101; &#108;&#105;&#115;&#116;, &#105;&#102; &#116;&#104;&#101;&#105;&#114; &#110;&#97;&#109;&#101; &#100;&#111; &#110;&#111;&#116; &#109;&#97;&#116;&#99;&#104; &#97;&#110;y &#111;&#102; &#116;&#104;&#101; 301 Variables are only added to the list, if their name do not match any of the
302 &#102;&#105;&#108;&#116;&#101;&#114; &#101;x&#112;&#114;&#101;&#115;&#115;&#105;&#111;&#110;&#115;. 302 filter expressions.
303 </dd><dt><i>filter</i></dt> 303 </dd><dt><i>filter</i></dt>
304 <dd> 304 <dd>
305 &#116;&#104;&#101; &#105;&#110;&#100;&#105;&#99;&#101;&#115; &#111;&#102; v&#97;&#114;&#105;&#97;&#98;&#108;&#101; &#116;y&#112;&#101;&#115; &#116;&#111; &#98;&#101; &#102;&#105;&#108;&#116;&#101;&#114;&#101;&#100;. &#86;&#97;&#114;&#105;&#97;&#98;&#108;&#101;&#115; &#97;&#114;&#101; 305 the indices of variable types to be filtered. Variables are
306 &#111;&#110;&#108;y &#97;&#100;&#100;&#101;&#100; &#116;&#111; &#116;&#104;&#101; &#108;&#105;&#115;&#116;, &#105;&#102; &#116;&#104;&#101;&#105;&#114; &#116;y&#112;&#101; &#105;&#115; &#110;&#111;&#116; &#99;&#111;&#110;&#116;&#97;&#105;&#110;&#101;&#100; &#105;&#110; &#116;&#104;&#101; &#102;&#105;&#108;&#116;&#101;&#114; 306 only added to the list, if their type is not contained in the filter
307 &#108;&#105;&#115;&#116;. 307 list.
308 </dd><dt><i>excludeSelf</i></dt> 308 </dd><dt><i>excludeSelf</i></dt>
309 <dd> 309 <dd>
310 &#102;&#108;&#97;&#103; &#105;&#110;&#100;&#105;&#99;&#97;&#116;&#105;&#110;&#103; &#105;&#102; &#116;&#104;&#101; &#115;&#101;&#108;&#102; &#111;&#98;&#106;&#101;&#99;&#116; &#115;&#104;&#111;&#117;&#108;&#100; &#98;&#101; &#101;x&#99;&#108;&#117;&#100;&#101;&#100; &#102;&#114;&#111;&#109; 310 flag indicating if the self object should be excluded from
311 &#116;&#104;&#101; &#108;&#105;&#115;&#116;&#105;&#110;&#103; (&#98;&#111;&#111;&#108;&#101;&#97;&#110;) 311 the listing (boolean)
312 </dd><dt><i>access</i></dt> 312 </dd><dt><i>access</i></dt>
313 <dd> 313 <dd>
314 &#83;&#116;&#114;&#105;&#110;&#103; &#115;&#112;&#101;&#99;&#105;&#102;y&#105;&#110;&#103; &#116;&#104;&#101; &#97;&#99;&#99;&#101;&#115;&#115; &#112;&#97;&#116;&#104; &#116;&#111; (&#83;&#116;&#114;&#105;&#110;&#103;) 314 String specifying the access path to (String)
315 </dd> 315 </dd>
316 </dl><dl> 316 </dl><dl>
317 <dt>Returns:</dt> 317 <dt>Returns:</dt>
318 <dd> 318 <dd>
319 &#65; &#108;&#105;&#115;&#116; &#99;&#111;&#110;&#115;&#105;&#115;&#116;&#105;&#110;&#103; &#111;&#102; &#97; &#108;&#105;&#115;&#116; &#111;&#102; &#102;&#111;&#114;&#109;&#97;&#116;&#116;&#101;&#100; v&#97;&#114;&#105;&#97;&#98;&#108;&#101;&#115;. &#69;&#97;&#99;&#104; v&#97;&#114;&#105;&#97;&#98;&#108;&#101; 319 A list consisting of a list of formatted variables. Each variable
320 &#101;&#110;&#116;&#114;y &#105;&#115; &#97; &#108;&#105;&#115;&#116; &#111;&#102; &#116;&#104;&#114;&#101;&#101; &#101;&#108;&#101;&#109;&#101;&#110;&#116;&#115;, &#116;&#104;&#101; v&#97;&#114;&#105;&#97;&#98;&#108;&#101; &#110;&#97;&#109;&#101;, &#105;&#116;&#115; &#116;y&#112;&#101; &#97;&#110;&#100; 320 entry is a list of three elements, the variable name, its type and
321 v&#97;&#108;&#117;&#101;. 321 value.
322 </dd> 322 </dd>
323 </dl><a NAME="DebugClientBase.generateFilterObjects" ID="DebugClientBase.generateFilterObjects"></a> 323 </dl><a NAME="DebugClientBase.generateFilterObjects" ID="DebugClientBase.generateFilterObjects"></a>
324 <h4>DebugClientBase.generateFilterObjects</h4> 324 <h4>DebugClientBase.generateFilterObjects</h4>
325 <b>generateFilterObjects</b>(<i>filterString</i>) 325 <b>generateFilterObjects</b>(<i>filterString</i>)
326 <p> 326 <p>
327 &#80;&#114;&#105;v&#97;&#116;&#101; &#109;&#101;&#116;&#104;&#111;&#100; &#116;&#111; &#99;&#111;&#110;v&#101;&#114;&#116; &#97; &#102;&#105;&#108;&#116;&#101;&#114; &#115;&#116;&#114;&#105;&#110;&#103; &#116;&#111; &#97; &#108;&#105;&#115;&#116; &#111;&#102; &#102;&#105;&#108;&#116;&#101;&#114; &#111;&#98;&#106;&#101;&#99;&#116;&#115;. 327 Private method to convert a filter string to a list of filter objects.
328 </p><dl> 328 </p><dl>
329 <dt><i>scope</i></dt> 329 <dt><i>scope</i></dt>
330 <dd> 330 <dd>
331 &#49; &#116;&#111; &#103;&#101;&#110;&#101;&#114;&#97;&#116;&#101; &#102;&#105;&#108;&#116;&#101;&#114; &#102;&#111;&#114; &#103;&#108;&#111;&#98;&#97;&#108; v&#97;&#114;&#105;&#97;&#98;&#108;&#101;&#115;, &#48; &#102;&#111;&#114; &#108;&#111;&#99;&#97;&#108; v&#97;&#114;&#105;&#97;&#98;&#108;&#101;&#115; (&#105;&#110;&#116;) 331 1 to generate filter for global variables, 0 for local variables (int)
332 </dd><dt><i>filterString</i></dt> 332 </dd><dt><i>filterString</i></dt>
333 <dd> 333 <dd>
334 &#115;&#116;&#114;&#105;&#110;&#103; &#111;&#102; &#102;&#105;&#108;&#116;&#101;&#114; &#112;&#97;&#116;&#116;&#101;&#114;&#110;&#115; &#115;&#101;&#112;&#97;&#114;&#97;&#116;&#101;&#100; &#98;y '&#59;' 334 string of filter patterns separated by ';'
335 </dd> 335 </dd>
336 </dl><a NAME="DebugClientBase.handleException" ID="DebugClientBase.handleException"></a> 336 </dl><a NAME="DebugClientBase.handleException" ID="DebugClientBase.handleException"></a>
337 <h4>DebugClientBase.handleException</h4> 337 <h4>DebugClientBase.handleException</h4>
338 <b>handleException</b>(<i></i>) 338 <b>handleException</b>(<i></i>)
339 <p> 339 <p>
340 &#80;&#114;&#105;v&#97;&#116;&#101; &#109;&#101;&#116;&#104;&#111;&#100; &#99;&#97;&#108;&#108;&#101;&#100; &#105;&#110; &#116;&#104;&#101; &#99;&#97;&#115;&#101; &#111;&#102; &#97;&#110; &#101;x&#99;&#101;&#112;&#116;&#105;&#111;&#110; 340 Private method called in the case of an exception
341 </p><p> 341 </p><p>
342 &#73;&#116; &#101;&#110;&#115;&#117;&#114;&#101;&#115; &#116;&#104;&#97;&#116; &#116;&#104;&#101; &#100;&#101;&#98;&#117;&#103; &#115;&#101;&#114;v&#101;&#114; &#105;&#115; &#105;&#110;&#102;&#111;&#114;&#109;&#101;&#100; &#111;&#102; &#116;&#104;&#101; &#114;&#97;&#105;&#115;&#101;&#100; &#101;x&#99;&#101;&#112;&#116;&#105;&#111;&#110;. 342 It ensures that the debug server is informed of the raised exception.
343 </p><a NAME="DebugClientBase.handleLine" ID="DebugClientBase.handleLine"></a> 343 </p><a NAME="DebugClientBase.handleLine" ID="DebugClientBase.handleLine"></a>
344 <h4>DebugClientBase.handleLine</h4> 344 <h4>DebugClientBase.handleLine</h4>
345 <b>handleLine</b>(<i></i>) 345 <b>handleLine</b>(<i></i>)
346 <p> 346 <p>
347 &#80;&#114;&#105;v&#97;&#116;&#101; &#109;&#101;&#116;&#104;&#111;&#100; &#116;&#111; &#104;&#97;&#110;&#100;&#108;&#101; &#116;&#104;&#101; &#114;&#101;&#99;&#101;&#105;&#112;&#116; &#111;&#102; &#97; &#99;&#111;&#109;&#112;&#108;&#101;&#116;&#101; &#108;&#105;&#110;&#101;. 347 Private method to handle the receipt of a complete line.
348 </p><p> 348 </p><p>
349 &#73;&#116; &#102;&#105;&#114;&#115;&#116; &#108;&#111;&#111;&#107;&#115; &#102;&#111;&#114; &#97; v&#97;&#108;&#105;&#100; &#112;&#114;&#111;&#116;&#111;&#99;&#111;&#108; &#116;&#111;&#107;&#101;&#110; &#97;&#116; &#116;&#104;&#101; &#115;&#116;&#97;&#114;&#116; &#111;&#102; &#116;&#104;&#101; &#108;&#105;&#110;&#101;. &#84;&#104;&#101;&#114;&#101;&#97;&#102;&#116;&#101;&#114; 349 It first looks for a valid protocol token at the start of the line. Thereafter
350 &#105;&#116; &#116;&#114;y&#115; &#116;&#111; &#101;x&#101;&#99;&#117;&#116;&#101; &#116;&#104;&#101; &#108;&#105;&#110;&#101;&#115; &#97;&#99;&#99;&#117;&#109;&#117;&#108;&#97;&#116;&#101;&#100; &#115;&#111; &#102;&#97;&#114;. 350 it trys to execute the lines accumulated so far.
351 </p><dl> 351 </p><dl>
352 <dt><i>line</i></dt> 352 <dt><i>line</i></dt>
353 <dd> 353 <dd>
354 &#116;&#104;&#101; &#114;&#101;&#99;&#101;&#105;v&#101;&#100; &#108;&#105;&#110;&#101; 354 the received line
355 </dd> 355 </dd>
356 </dl><a NAME="DebugClientBase.inFilter?" ID="DebugClientBase.inFilter?"></a> 356 </dl><a NAME="DebugClientBase.inFilter?" ID="DebugClientBase.inFilter?"></a>
357 <h4>DebugClientBase.inFilter?</h4> 357 <h4>DebugClientBase.inFilter?</h4>
358 <b>inFilter?</b>(<i>otype, oval</i>) 358 <b>inFilter?</b>(<i>otype, oval</i>)
359 <p> 359 <p>
360 &#80;&#114;&#105;v&#97;&#116;&#101; &#109;&#101;&#116;&#104;&#111;&#100; &#116;&#111; &#99;&#104;&#101;&#99;&#107;, &#105;&#102; &#97; v&#97;&#114;&#105;&#97;&#98;&#108;&#101; &#105;&#115; &#116;&#111; &#98;&#101; &#102;&#105;&#108;&#116;&#101;&#114;&#101;&#100; &#98;&#97;&#115;&#101;&#100; &#111;&#110; &#105;&#116;&#115; &#116;y&#112;&#101;. 360 Private method to check, if a variable is to be filtered based on its type.
361 </p><dl> 361 </p><dl>
362 <dt><i>filter</i></dt> 362 <dt><i>filter</i></dt>
363 <dd> 363 <dd>
364 &#116;&#104;&#101; &#105;&#110;&#100;&#105;&#99;&#101;&#115; &#111;&#102; v&#97;&#114;&#105;&#97;&#98;&#108;&#101; &#116;y&#112;&#101;&#115; &#116;&#111; &#98;&#101; &#102;&#105;&#108;&#116;&#101;&#114;&#101;&#100; (&#65;&#114;&#114;&#97;y &#111;&#102; &#105;&#110;&#116;. 364 the indices of variable types to be filtered (Array of int.
365 </dd><dt><i>otype</i></dt> 365 </dd><dt><i>otype</i></dt>
366 <dd> 366 <dd>
367 &#116;y&#112;&#101; &#111;&#102; &#116;&#104;&#101; v&#97;&#114;&#105;&#97;&#98;&#108;&#101; &#116;&#111; &#98;&#101; &#99;&#104;&#101;&#99;&#107;&#101;&#100; (&#83;&#116;&#114;&#105;&#110;&#103;) 367 type of the variable to be checked (String)
368 </dd><dt><i>oval</i></dt> 368 </dd><dt><i>oval</i></dt>
369 <dd> 369 <dd>
370 v&#97;&#114;&#105;&#97;&#98;&#108;&#101; v&#97;&#108;&#117;&#101; &#116;&#111; &#98;&#101; &#99;&#104;&#101;&#99;&#107;&#101;&#100; (&#83;&#116;&#114;&#105;&#110;&#103;) 370 variable value to be checked (String)
371 </dd> 371 </dd>
372 </dl><dl> 372 </dl><dl>
373 <dt>Returns:</dt> 373 <dt>Returns:</dt>
374 <dd> 374 <dd>
375 &#102;&#108;&#97;&#103; &#105;&#110;&#100;&#105;&#99;&#97;&#116;&#105;&#110;&#103;, w&#104;&#101;&#116;&#104;&#101;&#114; &#116;&#104;&#101; v&#97;&#114;&#105;&#97;&#98;&#108;&#101; &#115;&#104;&#111;&#117;&#108;&#100; &#98;&#101; &#102;&#105;&#108;&#116;&#101;&#114;&#101;&#100; (&#98;&#111;&#111;&#108;&#101;&#97;&#110;) 375 flag indicating, whether the variable should be filtered (boolean)
376 </dd> 376 </dd>
377 </dl><a NAME="DebugClientBase.initializeDebugClient" ID="DebugClientBase.initializeDebugClient"></a> 377 </dl><a NAME="DebugClientBase.initializeDebugClient" ID="DebugClientBase.initializeDebugClient"></a>
378 <h4>DebugClientBase.initializeDebugClient</h4> 378 <h4>DebugClientBase.initializeDebugClient</h4>
379 <b>initializeDebugClient</b>(<i></i>) 379 <b>initializeDebugClient</b>(<i></i>)
380 <p> 380 <p>
381 &#77;&#101;&#116;&#104;&#111;&#100; &#116;&#111; &#105;&#110;&#105;&#116;&#105;&#97;&#108;&#105;z&#101; &#116;&#104;&#101; &#109;&#111;&#100;&#117;&#108;&#101; 381 Method to initialize the module
382 </p><a NAME="DebugClientBase.interact" ID="DebugClientBase.interact"></a> 382 </p><a NAME="DebugClientBase.interact" ID="DebugClientBase.interact"></a>
383 <h4>DebugClientBase.interact</h4> 383 <h4>DebugClientBase.interact</h4>
384 <b>interact</b>(<i></i>) 384 <b>interact</b>(<i></i>)
385 <p> 385 <p>
386 &#80;&#114;&#105;v&#97;&#116;&#101; &#109;&#101;&#116;&#104;&#111;&#100; &#116;&#111; &#73;&#110;&#116;&#101;&#114;&#97;&#99;&#116; w&#105;&#116;&#104; &#116;&#104;&#101; &#100;&#101;&#98;&#117;&#103;&#103;&#101;&#114;. 386 Private method to Interact with the debugger.
387 </p><a NAME="DebugClientBase.main" ID="DebugClientBase.main"></a> 387 </p><a NAME="DebugClientBase.main" ID="DebugClientBase.main"></a>
388 <h4>DebugClientBase.main</h4> 388 <h4>DebugClientBase.main</h4>
389 <b>main</b>(<i></i>) 389 <b>main</b>(<i></i>)
390 <p> 390 <p>
391 &#80;&#117;&#98;&#108;&#105;&#99; &#109;&#101;&#116;&#104;&#111;&#100; &#105;&#109;&#112;&#108;&#101;&#109;&#101;&#110;&#116;&#105;&#110;&#103; &#116;&#104;&#101; &#109;&#97;&#105;&#110; &#109;&#101;&#116;&#104;&#111;&#100;. 391 Public method implementing the main method.
392 </p><a NAME="DebugClientBase.progTerminated" ID="DebugClientBase.progTerminated"></a> 392 </p><a NAME="DebugClientBase.progTerminated" ID="DebugClientBase.progTerminated"></a>
393 <h4>DebugClientBase.progTerminated</h4> 393 <h4>DebugClientBase.progTerminated</h4>
394 <b>progTerminated</b>(<i></i>) 394 <b>progTerminated</b>(<i></i>)
395 <p> 395 <p>
396 &#80;&#114;&#105;v&#97;&#116;&#101; &#109;&#101;&#116;&#104;&#111;&#100; &#116;&#111; &#116;&#101;&#108;&#108; &#116;&#104;&#101; &#100;&#101;&#98;&#117;&#103;&#103;&#101;&#114; &#116;&#104;&#97;&#116; &#116;&#104;&#101; &#112;&#114;&#111;&#103;&#114;&#97;&#109; &#104;&#97;&#115; &#116;&#101;&#114;&#109;&#105;&#110;&#97;&#116;&#101;&#100;. 396 Private method to tell the debugger that the program has terminated.
397 </p><dl> 397 </p><dl>
398 <dt><i>status</i></dt> 398 <dt><i>status</i></dt>
399 <dd> 399 <dd>
400 &#116;&#104;&#101; &#114;&#101;&#116;&#117;&#114;&#110; &#115;&#116;&#97;&#116;&#117;&#115; 400 the return status
401 </dd> 401 </dd>
402 </dl><a NAME="DebugClientBase.sessionClose" ID="DebugClientBase.sessionClose"></a> 402 </dl><a NAME="DebugClientBase.sessionClose" ID="DebugClientBase.sessionClose"></a>
403 <h4>DebugClientBase.sessionClose</h4> 403 <h4>DebugClientBase.sessionClose</h4>
404 <b>sessionClose</b>(<i></i>) 404 <b>sessionClose</b>(<i></i>)
405 <p> 405 <p>
406 &#80;&#114;&#105;v&#97;&#116; &#109;&#101;&#116;&#104;&#111;&#100; &#116;&#111; &#99;&#108;&#111;&#115;&#101; &#116;&#104;&#101; &#115;&#101;&#115;&#115;&#105;&#111;&#110; w&#105;&#116;&#104; &#116;&#104;&#101; &#100;&#101;&#98;&#117;&#103;&#103;&#101;&#114; &#97;&#110;&#100; &#116;&#101;&#114;&#109;&#105;&#110;&#97;&#116;&#101;. 406 Privat method to close the session with the debugger and terminate.
407 </p><a NAME="DebugClientBase.startProgInDebugger" ID="DebugClientBase.startProgInDebugger"></a> 407 </p><a NAME="DebugClientBase.startProgInDebugger" ID="DebugClientBase.startProgInDebugger"></a>
408 <h4>DebugClientBase.startProgInDebugger</h4> 408 <h4>DebugClientBase.startProgInDebugger</h4>
409 <b>startProgInDebugger</b>(<i>wd = '', host = nil, port = nil, exceptions = true, traceRuby = false, redirect=true</i>) 409 <b>startProgInDebugger</b>(<i>wd = '', host = nil, port = nil, exceptions = true, traceRuby = false, redirect=true</i>)
410 <p> 410 <p>
411 &#77;&#101;&#116;&#104;&#111;&#100; &#117;&#115;&#101;&#100; &#116;&#111; &#115;&#116;&#97;&#114;&#116; &#116;&#104;&#101; &#114;&#101;&#109;&#111;&#116;&#101; &#100;&#101;&#98;&#117;&#103;&#103;&#101;&#114;. 411 Method used to start the remote debugger.
412 </p><dl> 412 </p><dl>
413 <dt><i>progargs</i></dt> 413 <dt><i>progargs</i></dt>
414 <dd> 414 <dd>
415 &#99;&#111;&#109;&#109;&#97;&#110;&#100;&#108;&#105;&#110;&#101; &#102;&#111;&#114; &#116;&#104;&#101; &#112;&#114;&#111;&#103;&#114;&#97;&#109; &#116;&#111; &#98;&#101; &#100;&#101;&#98;&#117;&#103;&#103;&#101;&#100; 415 commandline for the program to be debugged
416 (&#108;&#105;&#115;&#116; &#111;&#102; &#115;&#116;&#114;&#105;&#110;&#103;&#115;) 416 (list of strings)
417 </dd><dt><i>wd</i></dt> 417 </dd><dt><i>wd</i></dt>
418 <dd> 418 <dd>
419 w&#111;&#114;&#107;&#105;&#110;&#103; &#100;&#105;&#114;&#101;&#99;&#116;&#111;&#114;y &#102;&#111;&#114; &#116;&#104;&#101; &#112;&#114;&#111;&#103;&#114;&#97;&#109; &#101;x&#101;&#99;&#117;&#116;&#105;&#111;&#110; (&#115;&#116;&#114;&#105;&#110;&#103;) 419 working directory for the program execution (string)
420 </dd><dt><i>host</i></dt> 420 </dd><dt><i>host</i></dt>
421 <dd> 421 <dd>
422 &#104;&#111;&#115;&#116;&#110;&#97;&#109;&#101; &#111;&#102; &#116;&#104;&#101; &#100;&#101;&#98;&#117;&#103; &#115;&#101;&#114;v&#101;&#114; (&#115;&#116;&#114;&#105;&#110;&#103;) 422 hostname of the debug server (string)
423 </dd><dt><i>port</i></dt> 423 </dd><dt><i>port</i></dt>
424 <dd> 424 <dd>
425 &#112;&#111;&#114;&#116;&#110;&#117;&#109;&#98;&#101;&#114; &#111;&#102; &#116;&#104;&#101; &#100;&#101;&#98;&#117;&#103; &#115;&#101;&#114;v&#101;&#114; (&#105;&#110;&#116;) 425 portnumber of the debug server (int)
426 </dd><dt><i>exceptions</i></dt> 426 </dd><dt><i>exceptions</i></dt>
427 <dd> 427 <dd>
428 &#102;&#108;&#97;&#103; &#116;&#111; &#101;&#110;&#97;&#98;&#108;&#101; &#101;x&#99;&#101;&#112;&#116;&#105;&#111;&#110; &#114;&#101;&#112;&#111;&#114;&#116;&#105;&#110;&#103; &#111;&#102; &#116;&#104;&#101; &#73;&#68;&#69; (&#98;&#111;&#111;&#108;&#101;&#97;&#110;) 428 flag to enable exception reporting of the IDE (boolean)
429 </dd><dt><i>traceRuby</i></dt> 429 </dd><dt><i>traceRuby</i></dt>
430 <dd> 430 <dd>
431 &#102;&#108;&#97;&#103; &#116;&#111; &#101;&#110;&#97;&#98;&#108;&#101; &#116;&#114;&#97;&#99;&#105;&#110;&#103; &#105;&#110;&#116;&#111; &#116;&#104;&#101; &#82;&#117;&#98;y &#108;&#105;&#98;&#114;&#97;&#114;y 431 flag to enable tracing into the Ruby library
432 </dd><dt><i>redirect</i></dt> 432 </dd><dt><i>redirect</i></dt>
433 <dd> 433 <dd>
434 &#102;&#108;&#97;&#103; &#105;&#110;&#100;&#105;&#99;&#97;&#116;&#105;&#110;&#103; &#114;&#101;&#100;&#105;&#114;&#101;&#99;&#116;&#105;&#111;&#110; &#111;&#102; &#115;&#116;&#100;&#105;&#110;, &#115;&#116;&#100;&#111;&#117;&#116; &#97;&#110;&#100; &#115;&#116;&#100;&#101;&#114;&#114; (&#98;&#111;&#111;&#108;&#101;&#97;&#110;) 434 flag indicating redirection of stdin, stdout and stderr (boolean)
435 </dd> 435 </dd>
436 </dl><a NAME="DebugClientBase.trace_func" ID="DebugClientBase.trace_func"></a> 436 </dl><a NAME="DebugClientBase.trace_func" ID="DebugClientBase.trace_func"></a>
437 <h4>DebugClientBase.trace_func</h4> 437 <h4>DebugClientBase.trace_func</h4>
438 <b>trace_func</b>(<i>file, line, id, binding_, klass</i>) 438 <b>trace_func</b>(<i>file, line, id, binding_, klass</i>)
439 <p> 439 <p>
440 &#77;&#101;&#116;&#104;&#111;&#100; &#101;x&#101;&#99;&#117;&#116;&#101;&#100; &#98;y &#116;&#104;&#101; &#116;&#114;&#97;&#99;&#105;&#110;&#103; &#102;&#97;&#99;&#105;&#108;&#105;&#116;y. 440 Method executed by the tracing facility.
441 </p><p> 441 </p><p>
442 &#73;&#116; &#105;&#115; &#117;&#115;&#101;&#100; &#116;&#111; &#115;&#97;v&#101; &#116;&#104;&#101; &#101;x&#101;&#99;&#117;&#116;&#105;&#111;&#110; &#99;&#111;&#110;&#116;&#101;x&#116; &#111;&#102; &#97;&#110; &#101;x&#99;&#101;&#112;&#116;&#105;&#111;&#110;. 442 It is used to save the execution context of an exception.
443 </p><dl> 443 </p><dl>
444 <dt><i>event</i></dt> 444 <dt><i>event</i></dt>
445 <dd> 445 <dd>
446 &#116;&#104;&#101; &#116;&#114;&#97;&#99;&#105;&#110;&#103; &#101;v&#101;&#110;&#116; (&#83;&#116;&#114;&#105;&#110;&#103;) 446 the tracing event (String)
447 </dd><dt><i>file</i></dt> 447 </dd><dt><i>file</i></dt>
448 <dd> 448 <dd>
449 &#116;&#104;&#101; &#110;&#97;&#109;&#101; &#111;&#102; &#116;&#104;&#101; &#102;&#105;&#108;&#101; &#98;&#101;&#105;&#110;&#103; &#116;&#114;&#97;&#99;&#101;&#100; (&#83;&#116;&#114;&#105;&#110;&#103;) 449 the name of the file being traced (String)
450 </dd><dt><i>line</i></dt> 450 </dd><dt><i>line</i></dt>
451 <dd> 451 <dd>
452 &#116;&#104;&#101; &#108;&#105;&#110;&#101; &#110;&#117;&#109;&#98;&#101;&#114; &#98;&#101;&#105;&#110;&#103; &#116;&#114;&#97;&#99;&#101;&#100; (&#105;&#110;&#116;) 452 the line number being traced (int)
453 </dd><dt><i>id</i></dt> 453 </dd><dt><i>id</i></dt>
454 <dd> 454 <dd>
455 &#111;&#98;&#106;&#101;&#99;&#116; &#105;&#100; 455 object id
456 </dd><dt><i>binding_</i></dt> 456 </dd><dt><i>binding_</i></dt>
457 <dd> 457 <dd>
458 &#97; &#98;&#105;&#110;&#100;&#105;&#110;&#103; &#111;&#98;&#106;&#101;&#99;&#116; 458 a binding object
459 </dd><dt><i>klass</i></dt> 459 </dd><dt><i>klass</i></dt>
460 <dd> 460 <dd>
461 &#110;&#97;&#109;&#101; &#111;&#102; &#97; &#99;&#108;&#97;&#115;&#115; 461 name of a class
462 </dd> 462 </dd>
463 </dl><a NAME="DebugClientBase.unhandled_exception" ID="DebugClientBase.unhandled_exception"></a> 463 </dl><a NAME="DebugClientBase.unhandled_exception" ID="DebugClientBase.unhandled_exception"></a>
464 <h4>DebugClientBase.unhandled_exception</h4> 464 <h4>DebugClientBase.unhandled_exception</h4>
465 <b>unhandled_exception</b>(<i></i>) 465 <b>unhandled_exception</b>(<i></i>)
466 <p> 466 <p>
467 &#80;&#114;&#105;v&#97;&#116;&#101; &#109;&#101;&#116;&#104;&#111;&#100; &#116;&#111; &#114;&#101;&#112;&#111;&#114;&#116; &#97;&#110; &#117;&#110;&#104;&#97;&#110;&#100;&#108;&#101;&#100; &#101;x&#99;&#101;&#112;&#116;&#105;&#111;&#110;. 467 Private method to report an unhandled exception.
468 </p><dl> 468 </p><dl>
469 <dt><i>exc</i></dt> 469 <dt><i>exc</i></dt>
470 <dd> 470 <dd>
471 &#116;&#104;&#101; &#101;x&#99;&#101;&#112;&#116;&#105;&#111;&#110; &#111;&#98;&#106;&#101;&#99;&#116; 471 the exception object
472 </dd> 472 </dd>
473 </dl><a NAME="DebugClientBase.write" ID="DebugClientBase.write"></a> 473 </dl><a NAME="DebugClientBase.write" ID="DebugClientBase.write"></a>
474 <h4>DebugClientBase.write</h4> 474 <h4>DebugClientBase.write</h4>
475 <b>write</b>(<i></i>) 475 <b>write</b>(<i></i>)
476 <p> 476 <p>
477 &#80;&#114;&#105;v&#97;&#116;&#101; &#109;&#101;&#116;&#104;&#111;&#100; &#116;&#111; w&#114;&#105;&#116;&#101; &#100;&#97;&#116;&#97; &#116;&#111; &#116;&#104;&#101; &#111;&#117;&#116;&#112;&#117;&#116; &#115;&#116;&#114;&#101;&#97;&#109;. 477 Private method to write data to the output stream.
478 </p><dl> 478 </p><dl>
479 <dt><i>s</i></dt> 479 <dt><i>s</i></dt>
480 <dd> 480 <dd>
481 &#100;&#97;&#116;&#97; &#116;&#111; &#98;&#101; w&#114;&#105;&#116;&#116;&#101;&#110; (&#115;&#116;&#114;&#105;&#110;&#103;) 481 data to be written (string)
482 </dd> 482 </dd>
483 </dl> 483 </dl>
484 <div align="right"><a href="#top">Up</a></div> 484 <div align="right"><a href="#top">Up</a></div>
485 <hr /> 485 <hr />
486 </body></html> 486 </body></html>

eric ide

mercurial