src/eric7/Documentation/Source/eric7.DebugClients.Python.MultiProcessDebugExtension.html

branch
eric7
changeset 10479
856476537696
parent 9209
b99e7fd55fd3
equal deleted inserted replaced
10478:de9106c55c3d 10479:856476537696
5 <link rel="stylesheet" href="styles.css"> 5 <link rel="stylesheet" href="styles.css">
6 </head> 6 </head>
7 <body> 7 <body>
8 <a NAME="top" ID="top"></a> 8 <a NAME="top" ID="top"></a>
9 <h1>eric7.DebugClients.Python.MultiProcessDebugExtension</h1> 9 <h1>eric7.DebugClients.Python.MultiProcessDebugExtension</h1>
10
11 <p> 10 <p>
12 Module implementing a function to patch the process creation functions to 11 Module implementing a function to patch the process creation functions to
13 support multiprocess debugging. 12 support multiprocess debugging.
14 </p> 13 </p>
14
15 <h3>Global Attributes</h3> 15 <h3>Global Attributes</h3>
16
17 <table> 16 <table>
18 <tr><td>_debugClient</td></tr> 17 <tr><td>_debugClient</td></tr>
19 </table> 18 </table>
19
20 <h3>Classes</h3> 20 <h3>Classes</h3>
21
22 <table> 21 <table>
23 <tr><td>None</td></tr> 22 <tr><td>None</td></tr>
24 </table> 23 </table>
24
25 <h3>Functions</h3> 25 <h3>Functions</h3>
26
27 <table> 26 <table>
28
29 <tr> 27 <tr>
30 <td><a href="#_shallPatch">_shallPatch</a></td> 28 <td><a href="#_shallPatch">_shallPatch</a></td>
31 <td>Function to determine, if the multiprocessing patches should be done.</td> 29 <td>Function to determine, if the multiprocessing patches should be done.</td>
32 </tr> 30 </tr>
33 <tr> 31 <tr>
117 <tr> 115 <tr>
118 <td><a href="#patchNewProcessFunctions">patchNewProcessFunctions</a></td> 116 <td><a href="#patchNewProcessFunctions">patchNewProcessFunctions</a></td>
119 <td>Function to patch the process creation functions to support multiprocess debugging.</td> 117 <td>Function to patch the process creation functions to support multiprocess debugging.</td>
120 </tr> 118 </tr>
121 </table> 119 </table>
120
122 <hr /> 121 <hr />
123 <hr /> 122 <hr />
124 <a NAME="_shallPatch" ID="_shallPatch"></a> 123 <a NAME="_shallPatch" ID="_shallPatch"></a>
125 <h2>_shallPatch</h2> 124 <h2>_shallPatch</h2>
126 <b>_shallPatch</b>(<i></i>) 125 <b>_shallPatch</b>(<i></i>)
127
128 <p> 126 <p>
129 Function to determine, if the multiprocessing patches should be done. 127 Function to determine, if the multiprocessing patches should be done.
130 </p> 128 </p>
129
131 <dl> 130 <dl>
132 <dt>Return:</dt> 131 <dt>Return:</dt>
133 <dd> 132 <dd>
134 flag indicating patching should be performed 133 flag indicating patching should be performed
135 </dd> 134 </dd>
144 <hr /> 143 <hr />
145 <hr /> 144 <hr />
146 <a NAME="createCreateProcess" ID="createCreateProcess"></a> 145 <a NAME="createCreateProcess" ID="createCreateProcess"></a>
147 <h2>createCreateProcess</h2> 146 <h2>createCreateProcess</h2>
148 <b>createCreateProcess</b>(<i>originalName</i>) 147 <b>createCreateProcess</b>(<i>originalName</i>)
149
150 <p> 148 <p>
151 Function to patch the 'CreateProcess' process creation function of 149 Function to patch the 'CreateProcess' process creation function of
152 Windows. 150 Windows.
153 </p> 151 </p>
152
154 <dl> 153 <dl>
155 154
156 <dt><i>originalName</i> (str)</dt> 155 <dt><i>originalName</i> (str)</dt>
157 <dd> 156 <dd>
158 original name of the function to be patched 157 original name of the function to be patched
174 <hr /> 173 <hr />
175 <hr /> 174 <hr />
176 <a NAME="createExecl" ID="createExecl"></a> 175 <a NAME="createExecl" ID="createExecl"></a>
177 <h2>createExecl</h2> 176 <h2>createExecl</h2>
178 <b>createExecl</b>(<i>originalName</i>) 177 <b>createExecl</b>(<i>originalName</i>)
179
180 <p> 178 <p>
181 Function to patch the 'execl' process creation functions. 179 Function to patch the 'execl' process creation functions.
182 </p> 180 </p>
183 <p> 181 <p>
184 <ul> 182 <ul>
186 <li>os.execle(path, arg0, arg1, ..., env)</li> 184 <li>os.execle(path, arg0, arg1, ..., env)</li>
187 <li>os.execlp(file, arg0, arg1, ...)</li> 185 <li>os.execlp(file, arg0, arg1, ...)</li>
188 <li>os.execlpe(file, arg0, arg1, ..., env)</li> 186 <li>os.execlpe(file, arg0, arg1, ..., env)</li>
189 </ul> 187 </ul>
190 </p> 188 </p>
189
191 <dl> 190 <dl>
192 191
193 <dt><i>originalName</i> (str)</dt> 192 <dt><i>originalName</i> (str)</dt>
194 <dd> 193 <dd>
195 original name of the function to be patched 194 original name of the function to be patched
211 <hr /> 210 <hr />
212 <hr /> 211 <hr />
213 <a NAME="createExecv" ID="createExecv"></a> 212 <a NAME="createExecv" ID="createExecv"></a>
214 <h2>createExecv</h2> 213 <h2>createExecv</h2>
215 <b>createExecv</b>(<i>originalName</i>) 214 <b>createExecv</b>(<i>originalName</i>)
216
217 <p> 215 <p>
218 Function to patch the 'execv' process creation functions. 216 Function to patch the 'execv' process creation functions.
219 </p> 217 </p>
220 <p> 218 <p>
221 <ul> 219 <ul>
222 <li>os.execv(path, args)</li> 220 <li>os.execv(path, args)</li>
223 <li>os.execvp(file, args)</li> 221 <li>os.execvp(file, args)</li>
224 </ul> 222 </ul>
225 </p> 223 </p>
224
226 <dl> 225 <dl>
227 226
228 <dt><i>originalName</i> (str)</dt> 227 <dt><i>originalName</i> (str)</dt>
229 <dd> 228 <dd>
230 original name of the function to be patched 229 original name of the function to be patched
246 <hr /> 245 <hr />
247 <hr /> 246 <hr />
248 <a NAME="createExecve" ID="createExecve"></a> 247 <a NAME="createExecve" ID="createExecve"></a>
249 <h2>createExecve</h2> 248 <h2>createExecve</h2>
250 <b>createExecve</b>(<i>originalName</i>) 249 <b>createExecve</b>(<i>originalName</i>)
251
252 <p> 250 <p>
253 Function to patch the 'execve' process creation functions. 251 Function to patch the 'execve' process creation functions.
254 </p> 252 </p>
255 <p> 253 <p>
256 <ul> 254 <ul>
257 <li>os.execve(path, args, env)</li> 255 <li>os.execve(path, args, env)</li>
258 <li>os.execvpe(file, args, env)</li> 256 <li>os.execvpe(file, args, env)</li>
259 </ul> 257 </ul>
260 </p> 258 </p>
259
261 <dl> 260 <dl>
262 261
263 <dt><i>originalName</i> (str)</dt> 262 <dt><i>originalName</i> (str)</dt>
264 <dd> 263 <dd>
265 original name of the function to be patched 264 original name of the function to be patched
281 <hr /> 280 <hr />
282 <hr /> 281 <hr />
283 <a NAME="createFork" ID="createFork"></a> 282 <a NAME="createFork" ID="createFork"></a>
284 <h2>createFork</h2> 283 <h2>createFork</h2>
285 <b>createFork</b>(<i>originalName</i>) 284 <b>createFork</b>(<i>originalName</i>)
286
287 <p> 285 <p>
288 Function to patch the 'fork' process creation functions. 286 Function to patch the 'fork' process creation functions.
289 </p> 287 </p>
290 <p> 288 <p>
291 <ul> 289 <ul>
292 <li>os.fork()</li> 290 <li>os.fork()</li>
293 </ul> 291 </ul>
294 </p> 292 </p>
293
295 <dl> 294 <dl>
296 295
297 <dt><i>originalName</i> (str)</dt> 296 <dt><i>originalName</i> (str)</dt>
298 <dd> 297 <dd>
299 original name of the function to be patched 298 original name of the function to be patched
315 <hr /> 314 <hr />
316 <hr /> 315 <hr />
317 <a NAME="createForkExec" ID="createForkExec"></a> 316 <a NAME="createForkExec" ID="createForkExec"></a>
318 <h2>createForkExec</h2> 317 <h2>createForkExec</h2>
319 <b>createForkExec</b>(<i>originalName</i>) 318 <b>createForkExec</b>(<i>originalName</i>)
320
321 <p> 319 <p>
322 Function to patch the 'fork_exec' process creation functions. 320 Function to patch the 'fork_exec' process creation functions.
323 </p> 321 </p>
324 <p> 322 <p>
325 <ul> 323 <ul>
326 <li>_posixsubprocess.fork_exec(args, executable_list, close_fds, 324 <li>_posixsubprocess.fork_exec(args, executable_list, close_fds,
327 ... (13 more))</li> 325 ... (13 more))</li>
328 </ul> 326 </ul>
329 </p> 327 </p>
328
330 <dl> 329 <dl>
331 330
332 <dt><i>originalName</i> (str)</dt> 331 <dt><i>originalName</i> (str)</dt>
333 <dd> 332 <dd>
334 original name of the function to be patched 333 original name of the function to be patched
350 <hr /> 349 <hr />
351 <hr /> 350 <hr />
352 <a NAME="createPosixSpawn" ID="createPosixSpawn"></a> 351 <a NAME="createPosixSpawn" ID="createPosixSpawn"></a>
353 <h2>createPosixSpawn</h2> 352 <h2>createPosixSpawn</h2>
354 <b>createPosixSpawn</b>(<i>originalName</i>) 353 <b>createPosixSpawn</b>(<i>originalName</i>)
355
356 <p> 354 <p>
357 Function to patch the 'posix_spawn' process creation functions. 355 Function to patch the 'posix_spawn' process creation functions.
358 </p> 356 </p>
359 <p> 357 <p>
360 <ul> 358 <ul>
362 (6 more))</li> 360 (6 more))</li>
363 <li>os.posix_spawnp(path, argv, env, *, file_actions=None, ... 361 <li>os.posix_spawnp(path, argv, env, *, file_actions=None, ...
364 (6 more))</li> 362 (6 more))</li>
365 </ul> 363 </ul>
366 </p> 364 </p>
365
367 <dl> 366 <dl>
368 367
369 <dt><i>originalName</i> (str)</dt> 368 <dt><i>originalName</i> (str)</dt>
370 <dd> 369 <dd>
371 original name of the function to be patched 370 original name of the function to be patched
387 <hr /> 386 <hr />
388 <hr /> 387 <hr />
389 <a NAME="createSpawnl" ID="createSpawnl"></a> 388 <a NAME="createSpawnl" ID="createSpawnl"></a>
390 <h2>createSpawnl</h2> 389 <h2>createSpawnl</h2>
391 <b>createSpawnl</b>(<i>originalName</i>) 390 <b>createSpawnl</b>(<i>originalName</i>)
392
393 <p> 391 <p>
394 Function to patch the 'spawnl' process creation functions. 392 Function to patch the 'spawnl' process creation functions.
395 </p> 393 </p>
396 <p> 394 <p>
397 <ul> 395 <ul>
398 <li>os.spawnl(mode, path, arg0, arg1, ...)</li> 396 <li>os.spawnl(mode, path, arg0, arg1, ...)</li>
399 <li>os.spawnlp(mode, file, arg0, arg1, ...)</li> 397 <li>os.spawnlp(mode, file, arg0, arg1, ...)</li>
400 </ul> 398 </ul>
401 </p> 399 </p>
400
402 <dl> 401 <dl>
403 402
404 <dt><i>originalName</i> (str)</dt> 403 <dt><i>originalName</i> (str)</dt>
405 <dd> 404 <dd>
406 original name of the function to be patched 405 original name of the function to be patched
422 <hr /> 421 <hr />
423 <hr /> 422 <hr />
424 <a NAME="createSpawnv" ID="createSpawnv"></a> 423 <a NAME="createSpawnv" ID="createSpawnv"></a>
425 <h2>createSpawnv</h2> 424 <h2>createSpawnv</h2>
426 <b>createSpawnv</b>(<i>originalName</i>) 425 <b>createSpawnv</b>(<i>originalName</i>)
427
428 <p> 426 <p>
429 Function to patch the 'spawnv' process creation functions. 427 Function to patch the 'spawnv' process creation functions.
430 </p> 428 </p>
431 <p> 429 <p>
432 <ul> 430 <ul>
433 <li>os.spawnv(mode, path, args)</li> 431 <li>os.spawnv(mode, path, args)</li>
434 <li>os.spawnvp(mode, file, args)</li> 432 <li>os.spawnvp(mode, file, args)</li>
435 </ul> 433 </ul>
436 </p> 434 </p>
435
437 <dl> 436 <dl>
438 437
439 <dt><i>originalName</i> (str)</dt> 438 <dt><i>originalName</i> (str)</dt>
440 <dd> 439 <dd>
441 original name of the function to be patched 440 original name of the function to be patched
457 <hr /> 456 <hr />
458 <hr /> 457 <hr />
459 <a NAME="createSpawnve" ID="createSpawnve"></a> 458 <a NAME="createSpawnve" ID="createSpawnve"></a>
460 <h2>createSpawnve</h2> 459 <h2>createSpawnve</h2>
461 <b>createSpawnve</b>(<i>originalName</i>) 460 <b>createSpawnve</b>(<i>originalName</i>)
462
463 <p> 461 <p>
464 Function to patch the 'spawnve' process creation functions. 462 Function to patch the 'spawnve' process creation functions.
465 </p> 463 </p>
466 <p> 464 <p>
467 <ul> 465 <ul>
468 <li>os.spawnve(mode, path, args, env)</li> 466 <li>os.spawnve(mode, path, args, env)</li>
469 <li>os.spawnvpe(mode, file, args, env)</li> 467 <li>os.spawnvpe(mode, file, args, env)</li>
470 </ul> 468 </ul>
471 </p> 469 </p>
470
472 <dl> 471 <dl>
473 472
474 <dt><i>originalName</i> (str)</dt> 473 <dt><i>originalName</i> (str)</dt>
475 <dd> 474 <dd>
476 original name of the function to be patched 475 original name of the function to be patched
492 <hr /> 491 <hr />
493 <hr /> 492 <hr />
494 <a NAME="newCreateProcess" ID="newCreateProcess"></a> 493 <a NAME="newCreateProcess" ID="newCreateProcess"></a>
495 <h2>newCreateProcess</h2> 494 <h2>newCreateProcess</h2>
496 <b>newCreateProcess</b>(<i>appName, cmdline, *args</i>) 495 <b>newCreateProcess</b>(<i>appName, cmdline, *args</i>)
497
498 <p> 496 <p>
499 Function replacing the 'CreateProcess' function of the _subprocess 497 Function replacing the 'CreateProcess' function of the _subprocess
500 or _winapi module. 498 or _winapi module.
501 </p> 499 </p>
500
502 <div align="right"><a href="#top">Up</a></div> 501 <div align="right"><a href="#top">Up</a></div>
503 <hr /> 502 <hr />
504 <hr /> 503 <hr />
505 <a NAME="newExecl" ID="newExecl"></a> 504 <a NAME="newExecl" ID="newExecl"></a>
506 <h2>newExecl</h2> 505 <h2>newExecl</h2>
507 <b>newExecl</b>(<i>path, *args</i>) 506 <b>newExecl</b>(<i>path, *args</i>)
508
509 <p> 507 <p>
510 Function replacing the 'execl' functions of the os module. 508 Function replacing the 'execl' functions of the os module.
511 </p> 509 </p>
510
512 <div align="right"><a href="#top">Up</a></div> 511 <div align="right"><a href="#top">Up</a></div>
513 <hr /> 512 <hr />
514 <hr /> 513 <hr />
515 <a NAME="newExecv" ID="newExecv"></a> 514 <a NAME="newExecv" ID="newExecv"></a>
516 <h2>newExecv</h2> 515 <h2>newExecv</h2>
517 <b>newExecv</b>(<i>path, args</i>) 516 <b>newExecv</b>(<i>path, args</i>)
518
519 <p> 517 <p>
520 Function replacing the 'execv' functions of the os module. 518 Function replacing the 'execv' functions of the os module.
521 </p> 519 </p>
520
522 <div align="right"><a href="#top">Up</a></div> 521 <div align="right"><a href="#top">Up</a></div>
523 <hr /> 522 <hr />
524 <hr /> 523 <hr />
525 <a NAME="newExecve" ID="newExecve"></a> 524 <a NAME="newExecve" ID="newExecve"></a>
526 <h2>newExecve</h2> 525 <h2>newExecve</h2>
527 <b>newExecve</b>(<i>path, args, env</i>) 526 <b>newExecve</b>(<i>path, args, env</i>)
528
529 <p> 527 <p>
530 Function replacing the 'execve' functions of the os module. 528 Function replacing the 'execve' functions of the os module.
531 </p> 529 </p>
530
532 <div align="right"><a href="#top">Up</a></div> 531 <div align="right"><a href="#top">Up</a></div>
533 <hr /> 532 <hr />
534 <hr /> 533 <hr />
535 <a NAME="newFork" ID="newFork"></a> 534 <a NAME="newFork" ID="newFork"></a>
536 <h2>newFork</h2> 535 <h2>newFork</h2>
537 <b>newFork</b>(<i></i>) 536 <b>newFork</b>(<i></i>)
538
539 <p> 537 <p>
540 Function replacing the 'fork' function of the os module. 538 Function replacing the 'fork' function of the os module.
541 </p> 539 </p>
540
542 <div align="right"><a href="#top">Up</a></div> 541 <div align="right"><a href="#top">Up</a></div>
543 <hr /> 542 <hr />
544 <hr /> 543 <hr />
545 <a NAME="newForkExec" ID="newForkExec"></a> 544 <a NAME="newForkExec" ID="newForkExec"></a>
546 <h2>newForkExec</h2> 545 <h2>newForkExec</h2>
547 <b>newForkExec</b>(<i>args, *other_args</i>) 546 <b>newForkExec</b>(<i>args, *other_args</i>)
548
549 <p> 547 <p>
550 Function replacing the 'fork_exec' functions of the _posixsubprocess 548 Function replacing the 'fork_exec' functions of the _posixsubprocess
551 module. 549 module.
552 </p> 550 </p>
551
553 <div align="right"><a href="#top">Up</a></div> 552 <div align="right"><a href="#top">Up</a></div>
554 <hr /> 553 <hr />
555 <hr /> 554 <hr />
556 <a NAME="newPosixSpawn" ID="newPosixSpawn"></a> 555 <a NAME="newPosixSpawn" ID="newPosixSpawn"></a>
557 <h2>newPosixSpawn</h2> 556 <h2>newPosixSpawn</h2>
558 <b>newPosixSpawn</b>(<i>path, argv, env, **kwargs</i>) 557 <b>newPosixSpawn</b>(<i>path, argv, env, **kwargs</i>)
559
560 <p> 558 <p>
561 Function replacing the 'posix_spawn' functions of the os module. 559 Function replacing the 'posix_spawn' functions of the os module.
562 </p> 560 </p>
561
563 <div align="right"><a href="#top">Up</a></div> 562 <div align="right"><a href="#top">Up</a></div>
564 <hr /> 563 <hr />
565 <hr /> 564 <hr />
566 <a NAME="newSpawnl" ID="newSpawnl"></a> 565 <a NAME="newSpawnl" ID="newSpawnl"></a>
567 <h2>newSpawnl</h2> 566 <h2>newSpawnl</h2>
568 <b>newSpawnl</b>(<i>mode, path, *args</i>) 567 <b>newSpawnl</b>(<i>mode, path, *args</i>)
569
570 <p> 568 <p>
571 Function replacing the 'spawnl' functions of the os module. 569 Function replacing the 'spawnl' functions of the os module.
572 </p> 570 </p>
571
573 <div align="right"><a href="#top">Up</a></div> 572 <div align="right"><a href="#top">Up</a></div>
574 <hr /> 573 <hr />
575 <hr /> 574 <hr />
576 <a NAME="newSpawnv" ID="newSpawnv"></a> 575 <a NAME="newSpawnv" ID="newSpawnv"></a>
577 <h2>newSpawnv</h2> 576 <h2>newSpawnv</h2>
578 <b>newSpawnv</b>(<i>mode, path, args</i>) 577 <b>newSpawnv</b>(<i>mode, path, args</i>)
579
580 <p> 578 <p>
581 Function replacing the 'spawnv' functions of the os module. 579 Function replacing the 'spawnv' functions of the os module.
582 </p> 580 </p>
581
583 <div align="right"><a href="#top">Up</a></div> 582 <div align="right"><a href="#top">Up</a></div>
584 <hr /> 583 <hr />
585 <hr /> 584 <hr />
586 <a NAME="newSpawnve" ID="newSpawnve"></a> 585 <a NAME="newSpawnve" ID="newSpawnve"></a>
587 <h2>newSpawnve</h2> 586 <h2>newSpawnve</h2>
588 <b>newSpawnve</b>(<i>mode, path, args, env</i>) 587 <b>newSpawnve</b>(<i>mode, path, args, env</i>)
589
590 <p> 588 <p>
591 Function replacing the 'spawnve' functions of the os module. 589 Function replacing the 'spawnve' functions of the os module.
592 </p> 590 </p>
591
593 <div align="right"><a href="#top">Up</a></div> 592 <div align="right"><a href="#top">Up</a></div>
594 <hr /> 593 <hr />
595 <hr /> 594 <hr />
596 <a NAME="patchModule" ID="patchModule"></a> 595 <a NAME="patchModule" ID="patchModule"></a>
597 <h2>patchModule</h2> 596 <h2>patchModule</h2>
598 <b>patchModule</b>(<i>module, functionName, createFunction</i>) 597 <b>patchModule</b>(<i>module, functionName, createFunction</i>)
599
600 <p> 598 <p>
601 Function to replace a function of a module with a modified one. 599 Function to replace a function of a module with a modified one.
602 </p> 600 </p>
601
603 <dl> 602 <dl>
604 603
605 <dt><i>module</i> (types.ModuleType)</dt> 604 <dt><i>module</i> (types.ModuleType)</dt>
606 <dd> 605 <dd>
607 reference to the module 606 reference to the module
619 <hr /> 618 <hr />
620 <hr /> 619 <hr />
621 <a NAME="patchNewProcessFunctions" ID="patchNewProcessFunctions"></a> 620 <a NAME="patchNewProcessFunctions" ID="patchNewProcessFunctions"></a>
622 <h2>patchNewProcessFunctions</h2> 621 <h2>patchNewProcessFunctions</h2>
623 <b>patchNewProcessFunctions</b>(<i>multiprocessEnabled, debugClient</i>) 622 <b>patchNewProcessFunctions</b>(<i>multiprocessEnabled, debugClient</i>)
624
625 <p> 623 <p>
626 Function to patch the process creation functions to support multiprocess 624 Function to patch the process creation functions to support multiprocess
627 debugging. 625 debugging.
628 </p> 626 </p>
627
629 <dl> 628 <dl>
630 629
631 <dt><i>multiprocessEnabled</i> (bool)</dt> 630 <dt><i>multiprocessEnabled</i> (bool)</dt>
632 <dd> 631 <dd>
633 flag indicating multiprocess support 632 flag indicating multiprocess support

eric ide

mercurial