|
1 <?xml version="1.0" encoding="utf-8"?> |
|
2 <!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN' |
|
3 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'> |
|
4 <html><head> |
|
5 <title>eric4.DebugClients.Python3.DebugThread</title> |
|
6 <style> |
|
7 body { |
|
8 background:white; |
|
9 margin: 0em 1em 10em 1em; |
|
10 color: black; |
|
11 } |
|
12 |
|
13 h1 { color: white; background: #4FA4FF; } |
|
14 h2 { color: white; background: #4FA4FF; } |
|
15 h3 { color: white; background: #00557F; } |
|
16 h4 { color: white; background: #00557F; } |
|
17 |
|
18 a { color: #AA5500; } |
|
19 |
|
20 </style> |
|
21 </head> |
|
22 <body><a NAME="top" ID="top"></a> |
|
23 <h1>eric4.DebugClients.Python3.DebugThread</h1> |
|
24 <p> |
|
25 Module implementing the debug thread. |
|
26 </p> |
|
27 <h3>Global Attributes</h3> |
|
28 <table> |
|
29 <tr><td>None</td></tr> |
|
30 </table> |
|
31 <h3>Classes</h3> |
|
32 <table> |
|
33 <tr> |
|
34 <td><a href="#DebugThread">DebugThread</a></td> |
|
35 <td>Class implementing a debug thread.</td> |
|
36 </tr> |
|
37 </table> |
|
38 <h3>Functions</h3> |
|
39 <table> |
|
40 <tr><td>None</td></tr> |
|
41 </table> |
|
42 <hr /><hr /> |
|
43 <a NAME="DebugThread" ID="DebugThread"></a> |
|
44 <h2>DebugThread</h2> |
|
45 <p> |
|
46 Class implementing a debug thread. |
|
47 </p><p> |
|
48 It represents a thread in the python interpreter that we are tracing. |
|
49 </p><p> |
|
50 Provides simple wrapper methods around bdb for the 'owning' client to |
|
51 call to step etc. |
|
52 </p> |
|
53 <h3>Derived from</h3> |
|
54 DebugBase |
|
55 <h3>Class Attributes</h3> |
|
56 <table> |
|
57 <tr><td>None</td></tr> |
|
58 </table> |
|
59 <h3>Methods</h3> |
|
60 <table> |
|
61 <tr> |
|
62 <td><a href="#DebugThread.__init__">DebugThread</a></td> |
|
63 <td>Constructor</td> |
|
64 </tr><tr> |
|
65 <td><a href="#DebugThread.bootstrap">bootstrap</a></td> |
|
66 <td>Private method to bootstrap the thread.</td> |
|
67 </tr><tr> |
|
68 <td><a href="#DebugThread.get_ident">get_ident</a></td> |
|
69 <td>Public method to return the id of this thread.</td> |
|
70 </tr><tr> |
|
71 <td><a href="#DebugThread.get_name">get_name</a></td> |
|
72 <td>Public method to return the name of this thread.</td> |
|
73 </tr><tr> |
|
74 <td><a href="#DebugThread.set_ident">set_ident</a></td> |
|
75 <td>Public method to set the id for this thread.</td> |
|
76 </tr><tr> |
|
77 <td><a href="#DebugThread.traceThread">traceThread</a></td> |
|
78 <td>Private method to setup tracing for this thread.</td> |
|
79 </tr><tr> |
|
80 <td><a href="#DebugThread.trace_dispatch">trace_dispatch</a></td> |
|
81 <td>Private method wrapping the trace_dispatch of bdb.py.</td> |
|
82 </tr> |
|
83 </table> |
|
84 <a NAME="DebugThread.__init__" ID="DebugThread.__init__"></a> |
|
85 <h4>DebugThread (Constructor)</h4> |
|
86 <b>DebugThread</b>(<i>dbgClient, targ = None, args = None, kwargs = None, mainThread = False</i>) |
|
87 <p> |
|
88 Constructor |
|
89 </p><dl> |
|
90 <dt><i>dbgClient</i></dt> |
|
91 <dd> |
|
92 the owning client |
|
93 </dd><dt><i>targ</i></dt> |
|
94 <dd> |
|
95 the target method in the run thread |
|
96 </dd><dt><i>args</i></dt> |
|
97 <dd> |
|
98 arguments to be passed to the thread |
|
99 </dd><dt><i>kwargs</i></dt> |
|
100 <dd> |
|
101 arguments to be passed to the thread |
|
102 </dd><dt><i>mainThread</i></dt> |
|
103 <dd> |
|
104 0 if this thread is not the mainscripts thread |
|
105 </dd> |
|
106 </dl><a NAME="DebugThread.bootstrap" ID="DebugThread.bootstrap"></a> |
|
107 <h4>DebugThread.bootstrap</h4> |
|
108 <b>bootstrap</b>(<i></i>) |
|
109 <p> |
|
110 Private method to bootstrap the thread. |
|
111 </p><p> |
|
112 It wraps the call to the user function to enable tracing |
|
113 before hand. |
|
114 </p><a NAME="DebugThread.get_ident" ID="DebugThread.get_ident"></a> |
|
115 <h4>DebugThread.get_ident</h4> |
|
116 <b>get_ident</b>(<i></i>) |
|
117 <p> |
|
118 Public method to return the id of this thread. |
|
119 </p><dl> |
|
120 <dt>Returns:</dt> |
|
121 <dd> |
|
122 the id of this thread (int) |
|
123 </dd> |
|
124 </dl><a NAME="DebugThread.get_name" ID="DebugThread.get_name"></a> |
|
125 <h4>DebugThread.get_name</h4> |
|
126 <b>get_name</b>(<i></i>) |
|
127 <p> |
|
128 Public method to return the name of this thread. |
|
129 </p><dl> |
|
130 <dt>Returns:</dt> |
|
131 <dd> |
|
132 name of this thread (string) |
|
133 </dd> |
|
134 </dl><a NAME="DebugThread.set_ident" ID="DebugThread.set_ident"></a> |
|
135 <h4>DebugThread.set_ident</h4> |
|
136 <b>set_ident</b>(<i>id</i>) |
|
137 <p> |
|
138 Public method to set the id for this thread. |
|
139 </p><dl> |
|
140 <dt><i>id</i></dt> |
|
141 <dd> |
|
142 id for this thread (int) |
|
143 </dd> |
|
144 </dl><a NAME="DebugThread.traceThread" ID="DebugThread.traceThread"></a> |
|
145 <h4>DebugThread.traceThread</h4> |
|
146 <b>traceThread</b>(<i></i>) |
|
147 <p> |
|
148 Private method to setup tracing for this thread. |
|
149 </p><a NAME="DebugThread.trace_dispatch" ID="DebugThread.trace_dispatch"></a> |
|
150 <h4>DebugThread.trace_dispatch</h4> |
|
151 <b>trace_dispatch</b>(<i>frame, event, arg</i>) |
|
152 <p> |
|
153 Private method wrapping the trace_dispatch of bdb.py. |
|
154 </p><p> |
|
155 It wraps the call to dispatch tracing into |
|
156 bdb to make sure we have locked the client to prevent multiple |
|
157 threads from entering the client event loop. |
|
158 </p><dl> |
|
159 <dt><i>frame</i></dt> |
|
160 <dd> |
|
161 The current stack frame. |
|
162 </dd><dt><i>event</i></dt> |
|
163 <dd> |
|
164 The trace event (string) |
|
165 </dd><dt><i>arg</i></dt> |
|
166 <dd> |
|
167 The arguments |
|
168 </dd> |
|
169 </dl><dl> |
|
170 <dt>Returns:</dt> |
|
171 <dd> |
|
172 local trace function |
|
173 </dd> |
|
174 </dl> |
|
175 <div align="right"><a href="#top">Up</a></div> |
|
176 <hr /> |
|
177 </body></html> |