Thu, 01 Sep 2016 19:00:46 +0200
Continued modernizing the debugger interface.
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1 | # -*- coding: utf-8 -*- |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2 | |
4631
5c1a96925da4
Updated copyright for 2016.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4553
diff
changeset
|
3 | # Copyright (c) 2009 - 2016 Detlev Offenbach <detlev@die-offenbachs.de> |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
4 | # |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
5 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
6 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
7 | Module implementing the Python3 debugger interface for the debug server. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
8 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
9 | |
3145
a9de05d4a22f
# __IGNORE_WARNING__ added/ removed.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3065
diff
changeset
|
10 | from __future__ import unicode_literals |
2525
8b507a9a2d40
Script changes: Future import added, super calls modified and unicode behavior for str.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
2302
diff
changeset
|
11 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
12 | import sys |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
13 | import os |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
14 | |
3656
441956d8fce5
Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3640
diff
changeset
|
15 | from PyQt5.QtCore import QObject, QTextCodec, QProcess, QProcessEnvironment, \ |
441956d8fce5
Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3640
diff
changeset
|
16 | QTimer |
441956d8fce5
Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3640
diff
changeset
|
17 | from PyQt5.QtWidgets import QInputDialog |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
18 | |
55
b5c84934de9c
Renamed E4Gui to E5Gui.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
53
diff
changeset
|
19 | from E5Gui.E5Application import e5App |
537
72b32daeb8d6
Continued replacing QMessageBox methods with own methods.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
482
diff
changeset
|
20 | from E5Gui import E5MessageBox |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
21 | |
1112
8a7d1b9d18db
Improved code quality by getting rid of star imports. That way pyflakes can do its job. A few bugs fixed found by flakes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1079
diff
changeset
|
22 | from . import DebugProtocol |
12
1d8dd9706f46
First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
23 | from . import DebugClientCapabilities |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
24 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
25 | import Preferences |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
26 | import Utilities |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
27 | |
3670
f0cb7579c0b4
Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3656
diff
changeset
|
28 | from eric6config import getConfig |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
29 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
30 | |
27
1018a0347ae9
Set the Python3 debugger to have all capabilities.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
15
diff
changeset
|
31 | ClientDefaultCapabilities = DebugClientCapabilities.HasAll |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
32 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
859
diff
changeset
|
33 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
34 | class DebuggerInterfacePython3(QObject): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
35 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
36 | Class implementing the Python debugger interface for the debug server. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
37 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
38 | def __init__(self, debugServer, passive): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
39 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
40 | Constructor |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
41 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
42 | @param debugServer reference to the debug server (DebugServer) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
43 | @param passive flag indicating passive connection mode (boolean) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
44 | """ |
2525
8b507a9a2d40
Script changes: Future import added, super calls modified and unicode behavior for str.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
2302
diff
changeset
|
45 | super(DebuggerInterfacePython3, self).__init__() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
46 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
47 | self.__isNetworked = True |
3640
2bf828881e86
Fixed stop at sys.breakpoint() in run mode under Python3 and on first run (Py2 and 3).
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3484
diff
changeset
|
48 | self.__autoContinue = False |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
49 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
50 | self.debugServer = debugServer |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
51 | self.passive = passive |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
52 | self.process = None |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
53 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
54 | self.qsock = None |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
55 | self.queue = [] |
3926
6492acd0a352
Fixed an issue in the debugger interfaces setting an initial translate function. and changed the Python default extensions '.py' and '.pyw' depending on used interpreter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3670
diff
changeset
|
56 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
57 | # set default values for capabilities of clients |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
58 | self.clientCapabilities = ClientDefaultCapabilities |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
59 | |
3926
6492acd0a352
Fixed an issue in the debugger interfaces setting an initial translate function. and changed the Python default extensions '.py' and '.pyw' depending on used interpreter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3670
diff
changeset
|
60 | # set translation function |
6492acd0a352
Fixed an issue in the debugger interfaces setting an initial translate function. and changed the Python default extensions '.py' and '.pyw' depending on used interpreter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3670
diff
changeset
|
61 | self.translate = self.__identityTranslation |
6492acd0a352
Fixed an issue in the debugger interfaces setting an initial translate function. and changed the Python default extensions '.py' and '.pyw' depending on used interpreter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3670
diff
changeset
|
62 | |
2988
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
63 | self.codec = QTextCodec.codecForName( |
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
64 | str(Preferences.getSystem("StringEncoding"))) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
65 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
66 | if passive: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
67 | # set translation function |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
68 | if Preferences.getDebugger("PathTranslation"): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
69 | self.translateRemote = \ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
70 | Preferences.getDebugger("PathTranslationRemote") |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
71 | self.translateLocal = \ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
72 | Preferences.getDebugger("PathTranslationLocal") |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
73 | self.translate = self.__remoteTranslation |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
74 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
75 | self.translate = self.__identityTranslation |
1171
1ffefa5ca226
Improved handling of debugger sending "<string>".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1166
diff
changeset
|
76 | |
1ffefa5ca226
Improved handling of debugger sending "<string>".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1166
diff
changeset
|
77 | # attribute to remember the name of the executed script |
1ffefa5ca226
Improved handling of debugger sending "<string>".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1166
diff
changeset
|
78 | self.__scriptName = "" |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
79 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
859
diff
changeset
|
80 | def __identityTranslation(self, fn, remote2local=True): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
81 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
82 | Private method to perform the identity path translation. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
83 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
84 | @param fn filename to be translated (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
85 | @param remote2local flag indicating the direction of translation |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
86 | (False = local to remote, True = remote to local [default]) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
87 | @return translated filename (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
88 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
89 | return fn |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
90 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
859
diff
changeset
|
91 | def __remoteTranslation(self, fn, remote2local=True): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
92 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
93 | Private method to perform the path translation. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
94 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
95 | @param fn filename to be translated (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
96 | @param remote2local flag indicating the direction of translation |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
97 | (False = local to remote, True = remote to local [default]) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
98 | @return translated filename (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
99 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
100 | if remote2local: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
101 | return fn.replace(self.translateRemote, self.translateLocal) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
102 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
103 | return fn.replace(self.translateLocal, self.translateRemote) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
104 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
859
diff
changeset
|
105 | def __startProcess(self, program, arguments, environment=None): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
106 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
107 | Private method to start the debugger client process. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
108 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
109 | @param program name of the executable to start (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
110 | @param arguments arguments to be passed to the program (list of string) |
2988
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
111 | @param environment dictionary of environment settings to pass |
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
112 | (dict of string) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
113 | @return the process object (QProcess) or None |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
114 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
115 | proc = QProcess() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
116 | if environment is not None: |
3656
441956d8fce5
Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3640
diff
changeset
|
117 | env = QProcessEnvironment() |
12
1d8dd9706f46
First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
118 | for key, value in list(environment.items()): |
3656
441956d8fce5
Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3640
diff
changeset
|
119 | env.insert(key, value) |
441956d8fce5
Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3640
diff
changeset
|
120 | proc.setProcessEnvironment(env) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
121 | args = [] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
122 | for arg in arguments: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
123 | args.append(arg) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
124 | proc.start(program, args) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
125 | if not proc.waitForStarted(10000): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
126 | proc = None |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
127 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
128 | return proc |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
129 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
130 | def startRemote(self, port, runInConsole): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
131 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
132 | Public method to start a remote Python interpreter. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
133 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
134 | @param port portnumber the debug server is listening on (integer) |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
859
diff
changeset
|
135 | @param runInConsole flag indicating to start the debugger in a |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
136 | console window (boolean) |
3357
2390df6f42ba
Started to change the file browser model such, that the sys.path entry is dependent on the running interpreter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3345
diff
changeset
|
137 | @return client process object (QProcess), a flag to indicate |
2390df6f42ba
Started to change the file browser model such, that the sys.path entry is dependent on the running interpreter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3345
diff
changeset
|
138 | a network connection (boolean) and the name of the interpreter |
2390df6f42ba
Started to change the file browser model such, that the sys.path entry is dependent on the running interpreter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3345
diff
changeset
|
139 | in case of a local execution (string) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
140 | """ |
2573
71837b5366d5
Search for interpreter on startup, avoid 'not found' message and switch to opposite interpreter.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
2525
diff
changeset
|
141 | interpreter = Preferences.getDebugger("Python3Interpreter") |
71837b5366d5
Search for interpreter on startup, avoid 'not found' message and switch to opposite interpreter.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
2525
diff
changeset
|
142 | if interpreter == "": |
3065
070b35dde35e
Fixed a bunch of indentation issues.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3060
diff
changeset
|
143 | E5MessageBox.critical( |
070b35dde35e
Fixed a bunch of indentation issues.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3060
diff
changeset
|
144 | None, |
3484 | 145 | self.tr("Start Debugger"), |
146 | self.tr( | |
2573
71837b5366d5
Search for interpreter on startup, avoid 'not found' message and switch to opposite interpreter.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
2525
diff
changeset
|
147 | """<p>No Python3 interpreter configured.</p>""")) |
3484 | 148 | return None, False, "" |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
149 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
150 | debugClientType = Preferences.getDebugger("DebugClientType3") |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
151 | if debugClientType == "standard": |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
859
diff
changeset
|
152 | debugClient = os.path.join(getConfig('ericDir'), |
2988
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
153 | "DebugClients", "Python3", |
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
154 | "DebugClient.py") |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
155 | elif debugClientType == "threaded": |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
156 | debugClient = os.path.join(getConfig('ericDir'), |
2988
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
157 | "DebugClients", "Python3", |
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
158 | "DebugClientThreads.py") |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
159 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
160 | debugClient = Preferences.getDebugger("DebugClient3") |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
161 | if debugClient == "": |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
162 | debugClient = os.path.join(sys.path[0], |
2988
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
163 | "DebugClients", "Python3", |
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
164 | "DebugClient.py") |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
165 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
166 | redirect = str(Preferences.getDebugger("Python3Redirect")) |
2988
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
167 | noencoding = Preferences.getDebugger("Python3NoEncoding") and \ |
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
168 | '--no-encoding' or '' |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
169 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
170 | if Preferences.getDebugger("RemoteDbgEnabled"): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
171 | ipaddr = self.debugServer.getHostAddress(False) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
172 | rexec = Preferences.getDebugger("RemoteExecution") |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
173 | rhost = Preferences.getDebugger("RemoteHost") |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
174 | if rhost == "": |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
175 | rhost = "localhost" |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
176 | if rexec: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
177 | args = Utilities.parseOptionString(rexec) + \ |
5059
b619cb765507
Fixed a few bugs in the debugger interface and configuration pages related to path separator of different operating systems.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
178 | [rhost, interpreter, debugClient, |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
179 | noencoding, str(port), redirect, ipaddr] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
180 | args[0] = Utilities.getExecutablePath(args[0]) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
181 | process = self.__startProcess(args[0], args[1:]) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
182 | if process is None: |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2988
diff
changeset
|
183 | E5MessageBox.critical( |
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2988
diff
changeset
|
184 | None, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
185 | self.tr("Start Debugger"), |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
186 | self.tr( |
2988
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
187 | """<p>The debugger backend could not be""" |
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
188 | """ started.</p>""")) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
189 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
190 | # set translation function |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
191 | if Preferences.getDebugger("PathTranslation"): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
192 | self.translateRemote = \ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
193 | Preferences.getDebugger("PathTranslationRemote") |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
194 | self.translateLocal = \ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
195 | Preferences.getDebugger("PathTranslationLocal") |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
196 | self.translate = self.__remoteTranslation |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
197 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
198 | self.translate = self.__identityTranslation |
3357
2390df6f42ba
Started to change the file browser model such, that the sys.path entry is dependent on the running interpreter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3345
diff
changeset
|
199 | return process, self.__isNetworked, "" |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
200 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
201 | # set translation function |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
202 | self.translate = self.__identityTranslation |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
203 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
204 | # setup the environment for the debugger |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
205 | if Preferences.getDebugger("DebugEnvironmentReplace"): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
206 | clientEnv = {} |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
207 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
208 | clientEnv = os.environ.copy() |
564
b3d966393ba9
Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
537
diff
changeset
|
209 | envlist = Utilities.parseEnvironmentString( |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
210 | Preferences.getDebugger("DebugEnvironment")) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
211 | for el in envlist: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
212 | try: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
213 | key, value = el.split('=', 1) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
214 | if value.startswith('"') or value.startswith("'"): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
215 | value = value[1:-1] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
216 | clientEnv[str(key)] = str(value) |
1112
8a7d1b9d18db
Improved code quality by getting rid of star imports. That way pyflakes can do its job. A few bugs fixed found by flakes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1079
diff
changeset
|
217 | except ValueError: |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
218 | pass |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
219 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
220 | ipaddr = self.debugServer.getHostAddress(True) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
221 | if runInConsole or Preferences.getDebugger("ConsoleDbgEnabled"): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
222 | ccmd = Preferences.getDebugger("ConsoleDbgCommand") |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
223 | if ccmd: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
224 | args = Utilities.parseOptionString(ccmd) + \ |
3032
927a2f8b3669
Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3021
diff
changeset
|
225 | [interpreter, os.path.abspath(debugClient), |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
226 | noencoding, str(port), '0', ipaddr] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
227 | args[0] = Utilities.getExecutablePath(args[0]) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
228 | process = self.__startProcess(args[0], args[1:], clientEnv) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
229 | if process is None: |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2988
diff
changeset
|
230 | E5MessageBox.critical( |
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2988
diff
changeset
|
231 | None, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
232 | self.tr("Start Debugger"), |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
233 | self.tr( |
2988
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
234 | """<p>The debugger backend could not be""" |
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
235 | """ started.</p>""")) |
3357
2390df6f42ba
Started to change the file browser model such, that the sys.path entry is dependent on the running interpreter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3345
diff
changeset
|
236 | return process, self.__isNetworked, interpreter |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
237 | |
3021
801289962f4e
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
238 | process = self.__startProcess( |
801289962f4e
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
239 | interpreter, |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
859
diff
changeset
|
240 | [debugClient, noencoding, str(port), redirect, ipaddr], |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
241 | clientEnv) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
242 | if process is None: |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2988
diff
changeset
|
243 | E5MessageBox.critical( |
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2988
diff
changeset
|
244 | None, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
245 | self.tr("Start Debugger"), |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
246 | self.tr( |
2988
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
247 | """<p>The debugger backend could not be started.</p>""")) |
3357
2390df6f42ba
Started to change the file browser model such, that the sys.path entry is dependent on the running interpreter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3345
diff
changeset
|
248 | return process, self.__isNetworked, interpreter |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
249 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
250 | def startRemoteForProject(self, port, runInConsole): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
251 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
252 | Public method to start a remote Python interpreter for a project. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
253 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
254 | @param port portnumber the debug server is listening on (integer) |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
859
diff
changeset
|
255 | @param runInConsole flag indicating to start the debugger in a |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
256 | console window (boolean) |
3357
2390df6f42ba
Started to change the file browser model such, that the sys.path entry is dependent on the running interpreter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3345
diff
changeset
|
257 | @return client process object (QProcess), a flag to indicate |
2390df6f42ba
Started to change the file browser model such, that the sys.path entry is dependent on the running interpreter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3345
diff
changeset
|
258 | a network connection (boolean) and the name of the interpreter |
2390df6f42ba
Started to change the file browser model such, that the sys.path entry is dependent on the running interpreter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3345
diff
changeset
|
259 | in case of a local execution (string) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
260 | """ |
53
c3eb7cc1ff8b
Renamed e5App to e5App.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
40
diff
changeset
|
261 | project = e5App().getObject("Project") |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
262 | if not project.isDebugPropertiesLoaded(): |
3357
2390df6f42ba
Started to change the file browser model such, that the sys.path entry is dependent on the running interpreter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3345
diff
changeset
|
263 | return None, self.__isNetworked, "" |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
264 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
265 | # start debugger with project specific settings |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
266 | interpreter = project.getDebugProperty("INTERPRETER") |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
267 | debugClient = project.getDebugProperty("DEBUGCLIENT") |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
268 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
269 | redirect = str(project.getDebugProperty("REDIRECT")) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
270 | noencoding = \ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
271 | project.getDebugProperty("NOENCODING") and '--no-encoding' or '' |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
272 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
273 | if project.getDebugProperty("REMOTEDEBUGGER"): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
274 | ipaddr = self.debugServer.getHostAddress(False) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
275 | rexec = project.getDebugProperty("REMOTECOMMAND") |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
276 | rhost = project.getDebugProperty("REMOTEHOST") |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
277 | if rhost == "": |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
278 | rhost = "localhost" |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
279 | if rexec: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
280 | args = Utilities.parseOptionString(rexec) + \ |
3032
927a2f8b3669
Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3021
diff
changeset
|
281 | [rhost, interpreter, os.path.abspath(debugClient), |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
282 | noencoding, str(port), redirect, ipaddr] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
283 | args[0] = Utilities.getExecutablePath(args[0]) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
284 | process = self.__startProcess(args[0], args[1:]) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
285 | if process is None: |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2988
diff
changeset
|
286 | E5MessageBox.critical( |
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2988
diff
changeset
|
287 | None, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
288 | self.tr("Start Debugger"), |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
289 | self.tr( |
2988
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
290 | """<p>The debugger backend could not be""" |
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
291 | """ started.</p>""")) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
292 | # set translation function |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
293 | if project.getDebugProperty("PATHTRANSLATION"): |
2988
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
294 | self.translateRemote = \ |
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
295 | project.getDebugProperty("REMOTEPATH") |
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
296 | self.translateLocal = \ |
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
297 | project.getDebugProperty("LOCALPATH") |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
298 | self.translate = self.__remoteTranslation |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
299 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
300 | self.translate = self.__identityTranslation |
3357
2390df6f42ba
Started to change the file browser model such, that the sys.path entry is dependent on the running interpreter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3345
diff
changeset
|
301 | return process, self.__isNetworked, "" |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
302 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
303 | # set translation function |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
304 | self.translate = self.__identityTranslation |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
305 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
306 | # setup the environment for the debugger |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
307 | if project.getDebugProperty("ENVIRONMENTOVERRIDE"): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
308 | clientEnv = {} |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
309 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
310 | clientEnv = os.environ.copy() |
564
b3d966393ba9
Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
537
diff
changeset
|
311 | envlist = Utilities.parseEnvironmentString( |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
312 | project.getDebugProperty("ENVIRONMENTSTRING")) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
313 | for el in envlist: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
314 | try: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
315 | key, value = el.split('=', 1) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
316 | if value.startswith('"') or value.startswith("'"): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
317 | value = value[1:-1] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
318 | clientEnv[str(key)] = str(value) |
1112
8a7d1b9d18db
Improved code quality by getting rid of star imports. That way pyflakes can do its job. A few bugs fixed found by flakes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1079
diff
changeset
|
319 | except ValueError: |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
320 | pass |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
321 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
322 | ipaddr = self.debugServer.getHostAddress(True) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
323 | if runInConsole or project.getDebugProperty("CONSOLEDEBUGGER"): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
324 | ccmd = project.getDebugProperty("CONSOLECOMMAND") or \ |
3032
927a2f8b3669
Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3021
diff
changeset
|
325 | Preferences.getDebugger("ConsoleDbgCommand") |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
326 | if ccmd: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
327 | args = Utilities.parseOptionString(ccmd) + \ |
3032
927a2f8b3669
Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3021
diff
changeset
|
328 | [interpreter, os.path.abspath(debugClient), |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
329 | noencoding, str(port), '0', ipaddr] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
330 | args[0] = Utilities.getExecutablePath(args[0]) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
331 | process = self.__startProcess(args[0], args[1:], clientEnv) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
332 | if process is None: |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2988
diff
changeset
|
333 | E5MessageBox.critical( |
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2988
diff
changeset
|
334 | None, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
335 | self.tr("Start Debugger"), |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
336 | self.tr( |
2988
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
337 | """<p>The debugger backend could not be""" |
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
338 | """ started.</p>""")) |
3357
2390df6f42ba
Started to change the file browser model such, that the sys.path entry is dependent on the running interpreter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3345
diff
changeset
|
339 | return process, self.__isNetworked, interpreter |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
340 | |
3021
801289962f4e
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
341 | process = self.__startProcess( |
801289962f4e
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
342 | interpreter, |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
859
diff
changeset
|
343 | [debugClient, noencoding, str(port), redirect, ipaddr], |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
344 | clientEnv) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
345 | if process is None: |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2988
diff
changeset
|
346 | E5MessageBox.critical( |
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2988
diff
changeset
|
347 | None, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
348 | self.tr("Start Debugger"), |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
349 | self.tr( |
2988
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
350 | """<p>The debugger backend could not be started.</p>""")) |
3357
2390df6f42ba
Started to change the file browser model such, that the sys.path entry is dependent on the running interpreter.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3345
diff
changeset
|
351 | return process, self.__isNetworked, interpreter |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
352 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
353 | def getClientCapabilities(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
354 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
355 | Public method to retrieve the debug clients capabilities. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
356 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
357 | @return debug client capabilities (integer) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
358 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
359 | return self.clientCapabilities |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
360 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
361 | def newConnection(self, sock): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
362 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
363 | Public slot to handle a new connection. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
364 | |
859
029eb068fd7b
Fixed a source docu typo.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
365 | @param sock reference to the socket object (QTcpSocket) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
366 | @return flag indicating success (boolean) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
367 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
368 | # If we already have a connection, refuse this one. It will be closed |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
369 | # automatically. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
370 | if self.qsock is not None: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
371 | return False |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
372 | |
3345
071afe8be2a1
Changed signal/slot usage to not use constructs like 'triggered[()].connect(...)' anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
373 | sock.disconnected.connect(self.debugServer.startClient) |
071afe8be2a1
Changed signal/slot usage to not use constructs like 'triggered[()].connect(...)' anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
374 | sock.readyRead.connect(self.__parseClientLine) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
375 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
376 | self.qsock = sock |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
377 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
378 | # Get the remote clients capabilities |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
379 | self.remoteCapabilities() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
380 | return True |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
381 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
382 | def flush(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
383 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
384 | Public slot to flush the queue. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
385 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
386 | # Send commands that were waiting for the connection. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
387 | for cmd in self.queue: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
388 | self.qsock.write(cmd.encode('utf8', 'backslashreplace')) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
389 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
390 | self.queue = [] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
391 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
392 | def shutdown(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
393 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
394 | Public method to cleanly shut down. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
395 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
396 | It closes our socket and shuts down |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
397 | the debug client. (Needed on Win OS) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
398 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
399 | if self.qsock is None: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
400 | return |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
401 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
402 | # do not want any slots called during shutdown |
482
4650a72c307a
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
481
diff
changeset
|
403 | self.qsock.disconnected.disconnect(self.debugServer.startClient) |
3345
071afe8be2a1
Changed signal/slot usage to not use constructs like 'triggered[()].connect(...)' anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
404 | self.qsock.readyRead.disconnect(self.__parseClientLine) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
405 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
406 | # close down socket, and shut down client as well. |
5124
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
407 | ## self.__sendCommand('{0}\n'.format(DebugProtocol.RequestShutdown)) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
408 | self.__sendJsonCommand("RequestShutdown", {}) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
409 | self.qsock.flush() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
410 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
411 | self.qsock.close() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
412 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
413 | # reinitialize |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
414 | self.qsock = None |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
415 | self.queue = [] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
416 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
417 | def isConnected(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
418 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
419 | Public method to test, if a debug client has connected. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
420 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
421 | @return flag indicating the connection status (boolean) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
422 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
423 | return self.qsock is not None |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
424 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
425 | def remoteEnvironment(self, env): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
426 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
427 | Public method to set the environment for a program to debug, run, ... |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
428 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
429 | @param env environment settings (dictionary) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
430 | """ |
5119
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
431 | ## self.__sendCommand('{0}{1}\n'.format( |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
432 | ## DebugProtocol.RequestEnv, str(env))) |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
433 | self.__sendJsonCommand("RequestEnvironment", {"environment": env}) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
434 | |
2988
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
435 | def remoteLoad(self, fn, argv, wd, traceInterpreter=False, |
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
436 | autoContinue=True, autoFork=False, forkChild=False): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
437 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
438 | Public method to load a new program to debug. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
439 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
440 | @param fn the filename to debug (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
441 | @param argv the commandline arguments to pass to the program (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
442 | @param wd the working directory for the program (string) |
2988
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
443 | @keyparam traceInterpreter flag indicating if the interpreter library |
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
444 | should be traced as well (boolean) |
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
445 | @keyparam autoContinue flag indicating, that the debugger should not |
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
446 | stop at the first executable line (boolean) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
447 | @keyparam autoFork flag indicating the automatic fork mode (boolean) |
2988
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
448 | @keyparam forkChild flag indicating to debug the child after forking |
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
449 | (boolean) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
450 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
451 | self.__autoContinue = autoContinue |
1171
1ffefa5ca226
Improved handling of debugger sending "<string>".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1166
diff
changeset
|
452 | self.__scriptName = os.path.abspath(fn) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
453 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
454 | wd = self.translate(wd, False) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
455 | fn = self.translate(os.path.abspath(fn), False) |
5119
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
456 | ## self.__sendCommand('{0}{1}\n'.format( |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
457 | ## DebugProtocol.RequestForkMode, repr((autoFork, forkChild)))) |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
458 | ## self.__sendCommand('{0}{1}|{2}|{3}|{4:d}\n'.format( |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
459 | ## DebugProtocol.RequestLoad, wd, fn, |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
460 | ## str(Utilities.parseOptionString(argv)), |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
461 | ## traceInterpreter)) |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
462 | self.__sendJsonCommand("RequestLoad", { |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
463 | "workdir": wd, |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
464 | "filename": fn, |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
465 | "argv": Utilities.parseOptionString(argv), |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
466 | "traceInterpreter": traceInterpreter, |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
467 | "autofork": autoFork, |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
468 | "forkChild": forkChild, |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
469 | }) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
470 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
859
diff
changeset
|
471 | def remoteRun(self, fn, argv, wd, autoFork=False, forkChild=False): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
472 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
473 | Public method to load a new program to run. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
474 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
475 | @param fn the filename to run (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
476 | @param argv the commandline arguments to pass to the program (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
477 | @param wd the working directory for the program (string) |
112
16893e193e9d
Added the auto fork options to the run dialog.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
96
diff
changeset
|
478 | @keyparam autoFork flag indicating the automatic fork mode (boolean) |
2988
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
479 | @keyparam forkChild flag indicating to debug the child after forking |
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
480 | (boolean) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
481 | """ |
1171
1ffefa5ca226
Improved handling of debugger sending "<string>".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1166
diff
changeset
|
482 | self.__scriptName = os.path.abspath(fn) |
1ffefa5ca226
Improved handling of debugger sending "<string>".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1166
diff
changeset
|
483 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
484 | wd = self.translate(wd, False) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
485 | fn = self.translate(os.path.abspath(fn), False) |
5120
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
486 | ## self.__sendCommand('{0}{1}\n'.format( |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
487 | ## DebugProtocol.RequestForkMode, repr((autoFork, forkChild)))) |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
488 | ## self.__sendCommand('{0}{1}|{2}|{3}\n'.format( |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
489 | ## DebugProtocol.RequestRun, wd, fn, |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
490 | ## str(Utilities.parseOptionString(argv)))) |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
491 | self.__sendJsonCommand("RequestRun", { |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
492 | "workdir": wd, |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
493 | "filename": fn, |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
494 | "argv": Utilities.parseOptionString(argv), |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
495 | "autofork": autoFork, |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
496 | "forkChild": forkChild, |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
497 | }) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
498 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
859
diff
changeset
|
499 | def remoteCoverage(self, fn, argv, wd, erase=False): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
500 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
501 | Public method to load a new program to collect coverage data. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
502 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
503 | @param fn the filename to run (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
504 | @param argv the commandline arguments to pass to the program (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
505 | @param wd the working directory for the program (string) |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
859
diff
changeset
|
506 | @keyparam erase flag indicating that coverage info should be |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
507 | cleared first (boolean) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
508 | """ |
1171
1ffefa5ca226
Improved handling of debugger sending "<string>".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1166
diff
changeset
|
509 | self.__scriptName = os.path.abspath(fn) |
1ffefa5ca226
Improved handling of debugger sending "<string>".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1166
diff
changeset
|
510 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
511 | wd = self.translate(wd, False) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
512 | fn = self.translate(os.path.abspath(fn), False) |
5120
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
513 | ## self.__sendCommand('{0}{1}@@{2}@@{3}@@{4:d}\n'.format( |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
514 | ## DebugProtocol.RequestCoverage, wd, fn, |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
515 | ## str(Utilities.parseOptionString(argv)), |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
516 | ## erase)) |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
517 | self.__sendJsonCommand("RequestCoverage", { |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
518 | "workdir": wd, |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
519 | "filename": fn, |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
520 | "argv": Utilities.parseOptionString(argv), |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
521 | "erase": erase, |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
522 | }) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
523 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
859
diff
changeset
|
524 | def remoteProfile(self, fn, argv, wd, erase=False): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
525 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
526 | Public method to load a new program to collect profiling data. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
527 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
528 | @param fn the filename to run (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
529 | @param argv the commandline arguments to pass to the program (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
530 | @param wd the working directory for the program (string) |
2988
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
531 | @keyparam erase flag indicating that timing info should be cleared |
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
532 | first (boolean) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
533 | """ |
1171
1ffefa5ca226
Improved handling of debugger sending "<string>".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1166
diff
changeset
|
534 | self.__scriptName = os.path.abspath(fn) |
1ffefa5ca226
Improved handling of debugger sending "<string>".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1166
diff
changeset
|
535 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
536 | wd = self.translate(wd, False) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
537 | fn = self.translate(os.path.abspath(fn), False) |
5120
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
538 | ## self.__sendCommand('{0}{1}|{2}|{3}|{4:d}\n'.format( |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
539 | ## DebugProtocol.RequestProfile, wd, fn, |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
540 | ## str(Utilities.parseOptionString(argv)), erase)) |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
541 | self.__sendJsonCommand("RequestProfile", { |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
542 | "workdir": wd, |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
543 | "filename": fn, |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
544 | "argv": Utilities.parseOptionString(argv), |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
545 | "erase": erase, |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
546 | }) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
547 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
548 | def remoteStatement(self, stmt): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
549 | """ |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
859
diff
changeset
|
550 | Public method to execute a Python statement. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
551 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
552 | @param stmt the Python statement to execute (string). It |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
553 | should not have a trailing newline. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
554 | """ |
5120
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
555 | ## self.__sendCommand('{0}\n'.format(stmt)) |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
556 | ## self.__sendCommand(DebugProtocol.RequestOK + '\n') |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
557 | self.__sendJsonCommand("ExecuteStatement", { |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
558 | "statement": stmt, |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
559 | }) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
560 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
561 | def remoteStep(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
562 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
563 | Public method to single step the debugged program. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
564 | """ |
5120
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
565 | ## self.__sendCommand(DebugProtocol.RequestStep + '\n') |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
566 | self.__sendJsonCommand("RequestStep", {}) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
567 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
568 | def remoteStepOver(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
569 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
570 | Public method to step over the debugged program. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
571 | """ |
5120
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
572 | ## self.__sendCommand(DebugProtocol.RequestStepOver + '\n') |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
573 | self.__sendJsonCommand("RequestStepOver", {}) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
574 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
575 | def remoteStepOut(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
576 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
577 | Public method to step out the debugged program. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
578 | """ |
5120
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
579 | ## self.__sendCommand(DebugProtocol.RequestStepOut + '\n') |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
580 | self.__sendJsonCommand("RequestStepOut", {}) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
581 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
582 | def remoteStepQuit(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
583 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
584 | Public method to stop the debugged program. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
585 | """ |
5120
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
586 | ## self.__sendCommand(DebugProtocol.RequestStepQuit + '\n') |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
587 | self.__sendJsonCommand("RequestStepQuit", {}) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
588 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
859
diff
changeset
|
589 | def remoteContinue(self, special=False): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
590 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
591 | Public method to continue the debugged program. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
592 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
593 | @param special flag indicating a special continue operation |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
594 | """ |
5120
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
595 | ## self.__sendCommand('{0}{1:d}\n'.format( |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
596 | ## DebugProtocol.RequestContinue, special)) |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
597 | self.__sendJsonCommand("RequestContinue", { |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
598 | "special": special, |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
599 | }) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
600 | |
5124
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
601 | def remoteBreakpoint(self, fn, line, setBreakpoint, cond=None, temp=False): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
602 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
603 | Public method to set or clear a breakpoint. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
604 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
605 | @param fn filename the breakpoint belongs to (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
606 | @param line linenumber of the breakpoint (int) |
5124
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
607 | @param setBreakpoint flag indicating setting or resetting a |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
608 | breakpoint (boolean) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
609 | @param cond condition of the breakpoint (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
610 | @param temp flag indicating a temporary breakpoint (boolean) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
611 | """ |
5124
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
612 | ## fn = self.translate(fn, False) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
613 | ## self.__sendCommand('{0}{1}@@{2:d}@@{3:d}@@{4:d}@@{5}\n'.format( |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
614 | ## DebugProtocol.RequestBreak, fn, line, temp, set, cond)) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
615 | self.__sendJsonCommand("RequestBreakpoint", { |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
616 | "filename": self.translate(fn, False), |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
617 | "line": line, |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
618 | "temporary": temp, |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
619 | "setBreakpoint": setBreakpoint, |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
620 | "condition": cond, |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
621 | }) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
622 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
623 | def remoteBreakpointEnable(self, fn, line, enable): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
624 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
625 | Public method to enable or disable a breakpoint. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
626 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
627 | @param fn filename the breakpoint belongs to (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
628 | @param line linenumber of the breakpoint (int) |
2988
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
629 | @param enable flag indicating enabling or disabling a breakpoint |
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
630 | (boolean) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
631 | """ |
5124
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
632 | ## fn = self.translate(fn, False) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
633 | ## self.__sendCommand('{0}{1},{2:d},{3:d}\n'.format( |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
634 | ## DebugProtocol.RequestBreakEnable, fn, line, enable)) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
635 | self.__sendJsonCommand("RequestBreakpointEnable", { |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
636 | "filename": self.translate(fn, False), |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
637 | "line": line, |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
638 | "enable": enable, |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
639 | }) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
640 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
641 | def remoteBreakpointIgnore(self, fn, line, count): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
642 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
643 | Public method to ignore a breakpoint the next couple of occurrences. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
644 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
645 | @param fn filename the breakpoint belongs to (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
646 | @param line linenumber of the breakpoint (int) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
647 | @param count number of occurrences to ignore (int) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
648 | """ |
5124
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
649 | ## fn = self.translate(fn, False) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
650 | ## self.__sendCommand('{0}{1},{2:d},{3:d}\n'.format( |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
651 | ## DebugProtocol.RequestBreakIgnore, fn, line, count)) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
652 | self.__sendJsonCommand("RequestBreakpointIgnore", { |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
653 | "filename": self.translate(fn, False), |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
654 | "line": line, |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
655 | "count": count, |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
656 | }) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
657 | |
5124
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
658 | def remoteWatchpoint(self, cond, setWatch, temp=False): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
659 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
660 | Public method to set or clear a watch expression. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
661 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
662 | @param cond expression of the watch expression (string) |
5124
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
663 | @param setWatch flag indicating setting or resetting a watch expression |
2988
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
664 | (boolean) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
665 | @param temp flag indicating a temporary watch expression (boolean) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
666 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
667 | # cond is combination of cond and special (s. watch expression viewer) |
5124
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
668 | ## self.__sendCommand('{0}{1}@@{2:d}@@{3:d}\n'.format( |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
669 | ## DebugProtocol.RequestWatch, cond, temp, set)) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
670 | self.__sendJsonCommand("RequestWatch", { |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
671 | "temporary": temp, |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
672 | "setWatch": setWatch, |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
673 | "condition": cond, |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
674 | }) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
675 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
676 | def remoteWatchpointEnable(self, cond, enable): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
677 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
678 | Public method to enable or disable a watch expression. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
679 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
680 | @param cond expression of the watch expression (string) |
2988
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
681 | @param enable flag indicating enabling or disabling a watch expression |
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
682 | (boolean) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
683 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
684 | # cond is combination of cond and special (s. watch expression viewer) |
5124
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
685 | ## self.__sendCommand('{0}{1},{2:d}\n'.format( |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
686 | ## DebugProtocol.RequestWatchEnable, cond, enable)) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
687 | self.__sendJsonCommand("RequestWatchEnable", { |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
688 | "condition": cond, |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
689 | "enable": enable, |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
690 | }) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
691 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
692 | def remoteWatchpointIgnore(self, cond, count): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
693 | """ |
2988
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
694 | Public method to ignore a watch expression the next couple of |
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
695 | occurrences. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
696 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
697 | @param cond expression of the watch expression (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
698 | @param count number of occurrences to ignore (int) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
699 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
700 | # cond is combination of cond and special (s. watch expression viewer) |
5124
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
701 | ## self.__sendCommand('{0}{1},{2:d}\n'.format( |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
702 | ## DebugProtocol.RequestWatchIgnore, cond, count)) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
703 | self.__sendJsonCommand("RequestWatchIgnore", { |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
704 | "condition": cond, |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
705 | "count": count, |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
706 | }) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
707 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
859
diff
changeset
|
708 | def remoteRawInput(self, s): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
709 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
710 | Public method to send the raw input to the debugged program. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
711 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
712 | @param s the raw input (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
713 | """ |
5120
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
714 | ## self.__sendCommand(s + '\n') |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
715 | self.__sendJsonCommand("RawInput", { |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
716 | "input": s, |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
717 | }) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
718 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
719 | def remoteThreadList(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
720 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
721 | Public method to request the list of threads from the client. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
722 | """ |
5124
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
723 | ## self.__sendCommand('{0}\n'.format(DebugProtocol.RequestThreadList)) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
724 | self.__sendJsonCommand("RequestThreadList", {}) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
725 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
726 | def remoteSetThread(self, tid): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
727 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
728 | Public method to request to set the given thread as current thread. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
729 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
730 | @param tid id of the thread (integer) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
731 | """ |
5124
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
732 | ## self.__sendCommand('{0}{1:d}\n'.format( |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
733 | ## DebugProtocol.RequestThreadSet, tid)) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
734 | self.__sendJsonCommand("RequestThreadSet", { |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
735 | "threadID": tid, |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
736 | }) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
737 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
859
diff
changeset
|
738 | def remoteClientVariables(self, scope, filter, framenr=0): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
739 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
740 | Public method to request the variables of the debugged program. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
741 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
742 | @param scope the scope of the variables (0 = local, 1 = global) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
743 | @param filter list of variable types to filter out (list of int) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
744 | @param framenr framenumber of the variables to retrieve (int) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
745 | """ |
5124
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
746 | ## self.__sendCommand('{0}{1:d}, {2:d}, {3}\n'.format( |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
747 | ## DebugProtocol.RequestVariables, framenr, scope, str(filter))) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
748 | self.__sendJsonCommand("RequestVariables", { |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
749 | "frameNumber": framenr, |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
750 | "scope": scope, |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
751 | "filters": filter, |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
752 | }) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
753 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
859
diff
changeset
|
754 | def remoteClientVariable(self, scope, filter, var, framenr=0): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
755 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
756 | Public method to request the variables of the debugged program. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
757 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
758 | @param scope the scope of the variables (0 = local, 1 = global) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
759 | @param filter list of variable types to filter out (list of int) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
760 | @param var list encoded name of variable to retrieve (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
761 | @param framenr framenumber of the variables to retrieve (int) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
762 | """ |
5124
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
763 | ## self.__sendCommand('{0}{1}, {2:d}, {3:d}, {4}\n'.format( |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
764 | ## DebugProtocol.RequestVariable, str(var), framenr, scope, |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
765 | ## str(filter))) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
766 | self.__sendJsonCommand("RequestVariable", { |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
767 | "variable": var, |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
768 | "frameNumber": framenr, |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
769 | "scope": scope, |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
770 | "filters": filter, |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
771 | }) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
772 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
773 | def remoteClientSetFilter(self, scope, filter): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
774 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
775 | Public method to set a variables filter list. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
776 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
777 | @param scope the scope of the variables (0 = local, 1 = global) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
778 | @param filter regexp string for variable names to filter out (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
779 | """ |
5124
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
780 | ## self.__sendCommand('{0}{1:d}, "{2}"\n'.format( |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
781 | ## DebugProtocol.RequestSetFilter, scope, filter)) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
782 | self.__sendJsonCommand("RequestSetFilter", { |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
783 | "scope": scope, |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
784 | "filter": filter, |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
785 | }) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
786 | |
2170
f4e0f6133ace
Started implementing the call trace functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
787 | def setCallTraceEnabled(self, on): |
f4e0f6133ace
Started implementing the call trace functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
788 | """ |
f4e0f6133ace
Started implementing the call trace functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
789 | Public method to set the call trace state. |
f4e0f6133ace
Started implementing the call trace functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
790 | |
f4e0f6133ace
Started implementing the call trace functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
791 | @param on flag indicating to enable the call trace function (boolean) |
f4e0f6133ace
Started implementing the call trace functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
792 | """ |
5124
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
793 | ## if on: |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
794 | ## cmd = "on" |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
795 | ## else: |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
796 | ## cmd = "off" |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
797 | ## self.__sendCommand('{0}{1}\n'.format( |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
798 | ## DebugProtocol.RequestCallTrace, cmd)) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
799 | self.__sendJsonCommand("RequestCallTrace", { |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
800 | "enable": on, |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
801 | }) |
2170
f4e0f6133ace
Started implementing the call trace functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
802 | |
5124
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
803 | ## def remoteEval(self, arg): |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
804 | ## """ |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
805 | ## Public method to evaluate arg in the current context of the debugged |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
806 | ## program. |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
807 | ## |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
808 | ## @param arg the arguments to evaluate (string) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
809 | ## """ |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
810 | #### self.__sendCommand('{0}{1}\n'.format(DebugProtocol.RequestEval, arg)) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
811 | ## self.__sendJsonCommand("RequestEval", { |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
812 | ## "argument": arg, |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
813 | ## }) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
814 | ## |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
815 | ## def remoteExec(self, stmt): |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
816 | ## """ |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
817 | ## Public method to execute stmt in the current context of the debugged |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
818 | ## program. |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
819 | ## |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
820 | ## @param stmt statement to execute (string) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
821 | ## """ |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
822 | ## self.__sendCommand('{0}{1}\n'.format(DebugProtocol.RequestExec, stmt)) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
823 | ## |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
824 | def remoteBanner(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
825 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
826 | Public slot to get the banner info of the remote client. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
827 | """ |
5119
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
828 | ## self.__sendCommand(DebugProtocol.RequestBanner + '\n') |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
829 | self.__sendJsonCommand("RequestBanner", {}) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
830 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
831 | def remoteCapabilities(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
832 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
833 | Public slot to get the debug clients capabilities. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
834 | """ |
5119
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
835 | ## self.__sendCommand(DebugProtocol.RequestCapabilities + '\n') |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
836 | self.__sendJsonCommand("RequestCapabilities", {}) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
837 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
838 | def remoteCompletion(self, text): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
839 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
840 | Public slot to get the a list of possible commandline completions |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
841 | from the remote client. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
842 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
843 | @param text the text to be completed (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
844 | """ |
5124
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
845 | ## self.__sendCommand("{0}{1}\n".format( |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
846 | ## DebugProtocol.RequestCompletion, text)) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
847 | self.__sendJsonCommand("RequestCompletion", { |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
848 | "text": text, |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
849 | }) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
850 | |
1499
b4d0457afb15
Extended the unit test module to allow to rerun only failed tests of the last.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1171
diff
changeset
|
851 | def remoteUTPrepare(self, fn, tn, tfn, failed, cov, covname, coverase): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
852 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
853 | Public method to prepare a new unittest run. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
854 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
855 | @param fn the filename to load (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
856 | @param tn the testname to load (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
857 | @param tfn the test function name to load tests from (string) |
1499
b4d0457afb15
Extended the unit test module to allow to rerun only failed tests of the last.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1171
diff
changeset
|
858 | @param failed list of failed test, if only failed test should be run |
2988
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
859 | (list of strings) |
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
860 | @param cov flag indicating collection of coverage data is requested |
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
861 | (boolean) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
862 | @param covname filename to be used to assemble the coverage caches |
2988
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
863 | filename (string) |
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
864 | @param coverase flag indicating erasure of coverage data is requested |
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
865 | (boolean) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
866 | """ |
1171
1ffefa5ca226
Improved handling of debugger sending "<string>".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1166
diff
changeset
|
867 | self.__scriptName = os.path.abspath(fn) |
1ffefa5ca226
Improved handling of debugger sending "<string>".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1166
diff
changeset
|
868 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
869 | fn = self.translate(os.path.abspath(fn), False) |
1499
b4d0457afb15
Extended the unit test module to allow to rerun only failed tests of the last.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1171
diff
changeset
|
870 | self.__sendCommand('{0}{1}|{2}|{3}|{4}|{5:d}|{6}|{7:d}\n'.format( |
b4d0457afb15
Extended the unit test module to allow to rerun only failed tests of the last.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1171
diff
changeset
|
871 | DebugProtocol.RequestUTPrepare, fn, tn, tfn, str(failed), |
b4d0457afb15
Extended the unit test module to allow to rerun only failed tests of the last.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1171
diff
changeset
|
872 | cov, covname, coverase)) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
873 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
874 | def remoteUTRun(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
875 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
876 | Public method to start a unittest run. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
877 | """ |
1112
8a7d1b9d18db
Improved code quality by getting rid of star imports. That way pyflakes can do its job. A few bugs fixed found by flakes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1079
diff
changeset
|
878 | self.__sendCommand('{0}\n'.format(DebugProtocol.RequestUTRun)) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
879 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
880 | def remoteUTStop(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
881 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
882 | Public method to stop a unittest run. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
883 | """ |
1112
8a7d1b9d18db
Improved code quality by getting rid of star imports. That way pyflakes can do its job. A few bugs fixed found by flakes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1079
diff
changeset
|
884 | self.__sendCommand('{0}\n'.format(DebugProtocol.RequestUTStop)) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
885 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
886 | def __askForkTo(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
887 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
888 | Private method to ask the user which branch of a fork to follow. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
889 | """ |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
890 | selections = [self.tr("Parent Process"), |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
891 | self.tr("Child process")] |
564
b3d966393ba9
Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
537
diff
changeset
|
892 | res, ok = QInputDialog.getItem( |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
893 | None, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
894 | self.tr("Client forking"), |
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
895 | self.tr("Select the fork branch to follow."), |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
896 | selections, |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
897 | 0, False) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
898 | if not ok or res == selections[0]: |
1112
8a7d1b9d18db
Improved code quality by getting rid of star imports. That way pyflakes can do its job. A few bugs fixed found by flakes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1079
diff
changeset
|
899 | self.__sendCommand(DebugProtocol.ResponseForkTo + 'parent\n') |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
900 | else: |
1112
8a7d1b9d18db
Improved code quality by getting rid of star imports. That way pyflakes can do its job. A few bugs fixed found by flakes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1079
diff
changeset
|
901 | self.__sendCommand(DebugProtocol.ResponseForkTo + 'child\n') |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
902 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
903 | def __parseClientLine(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
904 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
905 | Private method to handle data from the client. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
906 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
907 | while self.qsock and self.qsock.canReadLine(): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
908 | qs = self.qsock.readLine() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
909 | if self.codec is not None: |
12
1d8dd9706f46
First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
910 | line = self.codec.toUnicode(qs) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
911 | else: |
12
1d8dd9706f46
First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
912 | line = bytes(qs).decode() |
1112
8a7d1b9d18db
Improved code quality by getting rid of star imports. That way pyflakes can do its job. A few bugs fixed found by flakes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1079
diff
changeset
|
913 | if line.endswith(DebugProtocol.EOT): |
8a7d1b9d18db
Improved code quality by getting rid of star imports. That way pyflakes can do its job. A few bugs fixed found by flakes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1079
diff
changeset
|
914 | line = line[:-len(DebugProtocol.EOT)] |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
915 | if not line: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
916 | continue |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
917 | |
12
1d8dd9706f46
First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
918 | ## print("Server: ", line) ##debug |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
919 | |
5119
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
920 | if line.startswith("{") and "jsonrpc" in line: |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
921 | self.__handleJsonCommand(line) |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
922 | continue |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
923 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
924 | eoc = line.find('<') + 1 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
925 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
926 | # Deal with case where user has written directly to stdout |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
927 | # or stderr, but not line terminated and we stepped over the |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
928 | # write call, in that case the >line< will not be the first |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
929 | # string read from the socket... |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
930 | boc = line.find('>') |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
931 | if boc > 0 and eoc > boc: |
481
ad71812ba395
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
465
diff
changeset
|
932 | self.debugServer.signalClientOutput(line[:boc]) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
933 | line = line[boc:] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
934 | eoc = line.find('<') + 1 |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
935 | boc = line.find('>') |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
936 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
937 | if boc >= 0 and eoc > boc: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
938 | resp = line[boc:eoc] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
939 | |
5124
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
940 | ## if resp == DebugProtocol.ResponseLine or \ |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
941 | ## resp == DebugProtocol.ResponseStack: |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
942 | ## stack = eval(line[eoc:-1]) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
943 | ## for s in stack: |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
944 | ## s[0] = self.translate(s[0], True) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
945 | ## cf = stack[0] |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
946 | ## if self.__autoContinue: |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
947 | ## self.__autoContinue = False |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
948 | ## QTimer.singleShot(0, self.remoteContinue) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
949 | ## else: |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
950 | ## self.debugServer.signalClientLine( |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
951 | ## cf[0], int(cf[1]), |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
952 | ## resp == DebugProtocol.ResponseStack) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
953 | ## self.debugServer.signalClientStack(stack) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
954 | ## continue |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
955 | ## |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
956 | ## if resp == DebugProtocol.CallTrace: |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
957 | ## event, fromStr, toStr = line[eoc:-1].split("@@") |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
958 | ## isCall = event.lower() == "c" |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
959 | ## fromFile, fromLineno, fromFunc = fromStr.rsplit(":", 2) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
960 | ## toFile, toLineno, toFunc = toStr.rsplit(":", 2) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
961 | ## self.debugServer.signalClientCallTrace( |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
962 | ## isCall, |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
963 | ## fromFile, fromLineno, fromFunc, |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
964 | ## toFile, toLineno, toFunc) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
965 | ## continue |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
966 | ## |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
967 | ## if resp == DebugProtocol.ResponseThreadList: |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
968 | ## currentId, threadList = eval(line[eoc:-1]) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
969 | ## self.debugServer.signalClientThreadList( |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
970 | ## currentId, threadList) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
971 | ## continue |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
972 | ## |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
973 | ## if resp == DebugProtocol.ResponseThreadSet: |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
974 | ## self.debugServer.signalClientThreadSet() |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
975 | ## continue |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
976 | ## |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
977 | ## if resp == DebugProtocol.ResponseVariables: |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
978 | ## vlist = eval(line[eoc:-1]) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
979 | ## scope = vlist[0] |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
980 | ## try: |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
981 | ## variables = vlist[1:] |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
982 | ## except IndexError: |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
983 | ## variables = [] |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
984 | ## self.debugServer.signalClientVariables(scope, variables) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
985 | ## continue |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
986 | ## |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
987 | ## if resp == DebugProtocol.ResponseVariable: |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
988 | ## vlist = eval(line[eoc:-1]) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
989 | ## scope = vlist[0] |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
990 | ## try: |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
991 | ## variables = vlist[1:] |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
992 | ## except IndexError: |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
993 | ## variables = [] |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
994 | ## self.debugServer.signalClientVariable(scope, variables) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
995 | ## continue |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
996 | ## |
5120
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
997 | ## if resp == DebugProtocol.ResponseOK: |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
998 | ## self.debugServer.signalClientStatement(False) |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
999 | ## continue |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
1000 | ## |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
1001 | ## if resp == DebugProtocol.ResponseContinue: |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
1002 | ## self.debugServer.signalClientStatement(True) |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
1003 | ## continue |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
1004 | ## |
5124
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1005 | ## if resp == DebugProtocol.ResponseException: |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1006 | ## exc = line[eoc:-1] |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1007 | ## exc = self.translate(exc, True) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1008 | ## try: |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1009 | ## exclist = eval(exc) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1010 | ## exctype = exclist[0] |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1011 | ## excmessage = exclist[1] |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1012 | ## stack = exclist[2:] |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1013 | ## if stack and stack[0] and stack[0][0] == "<string>": |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1014 | ## for stackEntry in stack: |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1015 | ## if stackEntry[0] == "<string>": |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1016 | ## stackEntry[0] = self.__scriptName |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1017 | ## else: |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1018 | ## break |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1019 | ## except (IndexError, ValueError, SyntaxError): |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1020 | ## exctype = None |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1021 | ## excmessage = '' |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1022 | ## stack = [] |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1023 | ## self.debugServer.signalClientException( |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1024 | ## exctype, excmessage, stack) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1025 | ## continue |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1026 | ## |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1027 | ## if resp == DebugProtocol.ResponseSyntax: |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1028 | ## exc = line[eoc:-1] |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1029 | ## exc = self.translate(exc, True) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1030 | ## try: |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1031 | ## message, (fn, ln, cn) = eval(exc) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1032 | ## if fn is None: |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1033 | ## fn = '' |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1034 | ## except (IndexError, ValueError): |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1035 | ## message = None |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1036 | ## fn = '' |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1037 | ## ln = 0 |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1038 | ## cn = 0 |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1039 | ## if cn is None: |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1040 | ## cn = 0 |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1041 | ## self.debugServer.signalClientSyntaxError( |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1042 | ## message, fn, ln, cn) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1043 | ## continue |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1044 | ## |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1045 | ## if resp == DebugProtocol.ResponseSignal: |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1046 | ## sig = line[eoc:-1] |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1047 | ## sig = self.translate(sig, True) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1048 | ## message, (fn, ln, func, args) = eval(sig) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1049 | ## self.debugServer.signalClientSignal( |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1050 | ## message, fn, ln, func, args) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1051 | ## continue |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1052 | ## |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1053 | ## if resp == DebugProtocol.ResponseExit: |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1054 | ## self.__scriptName = "" |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1055 | ## self.debugServer.signalClientExit(line[eoc:-1]) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1056 | ## continue |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1057 | ## |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1058 | ## if resp == DebugProtocol.ResponseClearBreak: |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1059 | ## fn, lineno = line[eoc:-1].split(',') |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1060 | ## lineno = int(lineno) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1061 | ## fn = self.translate(fn, True) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1062 | ## self.debugServer.signalClientClearBreak(fn, lineno) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1063 | ## continue |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1064 | ## |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1065 | ## if resp == DebugProtocol.ResponseBPConditionError: |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1066 | ## fn, lineno = line[eoc:-1].split(',') |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1067 | ## lineno = int(lineno) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1068 | ## fn = self.translate(fn, True) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1069 | ## self.debugServer.signalClientBreakConditionError( |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1070 | ## fn, lineno) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1071 | ## continue |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1072 | ## |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1073 | ## if resp == DebugProtocol.ResponseClearWatch: |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1074 | ## cond = line[eoc:-1] |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1075 | ## self.debugServer.signalClientClearWatch(cond) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1076 | ## continue |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1077 | ## |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1078 | ## if resp == DebugProtocol.ResponseWPConditionError: |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1079 | ## cond = line[eoc:-1] |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1080 | ## self.debugServer.signalClientWatchConditionError(cond) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1081 | ## continue |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1082 | ## |
5120
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
1083 | ## if resp == DebugProtocol.ResponseRaw: |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
1084 | ## prompt, echo = eval(line[eoc:-1]) |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
1085 | ## self.debugServer.signalClientRawInput(prompt, echo) |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
1086 | ## continue |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
1087 | ## |
5119
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
1088 | ## if resp == DebugProtocol.ResponseBanner: |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
1089 | ## version, platform, dbgclient = eval(line[eoc:-1]) |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
1090 | ## self.debugServer.signalClientBanner( |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
1091 | ## version, platform, dbgclient) |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
1092 | ## continue |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
1093 | ## |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
1094 | ## if resp == DebugProtocol.ResponseCapabilities: |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
1095 | ## cap, clType = eval(line[eoc:-1]) |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
1096 | ## self.clientCapabilities = cap |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
1097 | ## self.debugServer.signalClientCapabilities(cap, clType) |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
1098 | ## continue |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
1099 | ## |
5124
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1100 | ## if resp == DebugProtocol.ResponseCompletion: |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1101 | ## clstring, text = line[eoc:-1].split('||') |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1102 | ## cl = eval(clstring) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1103 | ## self.debugServer.signalClientCompletionList(cl, text) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1104 | ## continue |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1105 | ## |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1106 | ## if resp == DebugProtocol.PassiveStartup: |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1107 | ## fn, exc = line[eoc:-1].split('|') |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1108 | ## exc = bool(exc) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1109 | ## fn = self.translate(fn, True) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1110 | ## self.debugServer.passiveStartUp(fn, exc) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1111 | ## continue |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1112 | ## |
1112
8a7d1b9d18db
Improved code quality by getting rid of star imports. That way pyflakes can do its job. A few bugs fixed found by flakes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1079
diff
changeset
|
1113 | if resp == DebugProtocol.ResponseUTPrepared: |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1114 | res, exc_type, exc_value = eval(line[eoc:-1]) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1115 | self.debugServer.clientUtPrepared(res, exc_type, exc_value) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1116 | continue |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1117 | |
1112
8a7d1b9d18db
Improved code quality by getting rid of star imports. That way pyflakes can do its job. A few bugs fixed found by flakes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1079
diff
changeset
|
1118 | if resp == DebugProtocol.ResponseUTStartTest: |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1119 | testname, doc = eval(line[eoc:-1]) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1120 | self.debugServer.clientUtStartTest(testname, doc) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1121 | continue |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1122 | |
1112
8a7d1b9d18db
Improved code quality by getting rid of star imports. That way pyflakes can do its job. A few bugs fixed found by flakes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1079
diff
changeset
|
1123 | if resp == DebugProtocol.ResponseUTStopTest: |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1124 | self.debugServer.clientUtStopTest() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1125 | continue |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1126 | |
1112
8a7d1b9d18db
Improved code quality by getting rid of star imports. That way pyflakes can do its job. A few bugs fixed found by flakes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1079
diff
changeset
|
1127 | if resp == DebugProtocol.ResponseUTTestFailed: |
1499
b4d0457afb15
Extended the unit test module to allow to rerun only failed tests of the last.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1171
diff
changeset
|
1128 | testname, traceback, id = eval(line[eoc:-1]) |
2988
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1129 | self.debugServer.clientUtTestFailed( |
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1130 | testname, traceback, id) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1131 | continue |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1132 | |
1112
8a7d1b9d18db
Improved code quality by getting rid of star imports. That way pyflakes can do its job. A few bugs fixed found by flakes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1079
diff
changeset
|
1133 | if resp == DebugProtocol.ResponseUTTestErrored: |
1499
b4d0457afb15
Extended the unit test module to allow to rerun only failed tests of the last.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1171
diff
changeset
|
1134 | testname, traceback, id = eval(line[eoc:-1]) |
2988
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1135 | self.debugServer.clientUtTestErrored( |
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1136 | testname, traceback, id) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1137 | continue |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1138 | |
1166
a94b0a2fafd7
Extended the unit test interface to support skipped tests, expected failures and unexpected successes and to better cope with Python2 scripts when run from the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1139 | if resp == DebugProtocol.ResponseUTTestSkipped: |
1499
b4d0457afb15
Extended the unit test module to allow to rerun only failed tests of the last.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1171
diff
changeset
|
1140 | testname, reason, id = eval(line[eoc:-1]) |
b4d0457afb15
Extended the unit test module to allow to rerun only failed tests of the last.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1171
diff
changeset
|
1141 | self.debugServer.clientUtTestSkipped(testname, reason, id) |
1166
a94b0a2fafd7
Extended the unit test interface to support skipped tests, expected failures and unexpected successes and to better cope with Python2 scripts when run from the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1142 | continue |
a94b0a2fafd7
Extended the unit test interface to support skipped tests, expected failures and unexpected successes and to better cope with Python2 scripts when run from the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1143 | |
a94b0a2fafd7
Extended the unit test interface to support skipped tests, expected failures and unexpected successes and to better cope with Python2 scripts when run from the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1144 | if resp == DebugProtocol.ResponseUTTestFailedExpected: |
1499
b4d0457afb15
Extended the unit test module to allow to rerun only failed tests of the last.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1171
diff
changeset
|
1145 | testname, traceback, id = eval(line[eoc:-1]) |
2988
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1146 | self.debugServer.clientUtTestFailedExpected( |
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1147 | testname, traceback, id) |
1166
a94b0a2fafd7
Extended the unit test interface to support skipped tests, expected failures and unexpected successes and to better cope with Python2 scripts when run from the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1148 | continue |
a94b0a2fafd7
Extended the unit test interface to support skipped tests, expected failures and unexpected successes and to better cope with Python2 scripts when run from the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1149 | |
a94b0a2fafd7
Extended the unit test interface to support skipped tests, expected failures and unexpected successes and to better cope with Python2 scripts when run from the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1150 | if resp == DebugProtocol.ResponseUTTestSucceededUnexpected: |
1499
b4d0457afb15
Extended the unit test module to allow to rerun only failed tests of the last.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1171
diff
changeset
|
1151 | testname, id = eval(line[eoc:-1]) |
2988
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1152 | self.debugServer.clientUtTestSucceededUnexpected( |
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
1153 | testname, id) |
1166
a94b0a2fafd7
Extended the unit test interface to support skipped tests, expected failures and unexpected successes and to better cope with Python2 scripts when run from the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1154 | continue |
a94b0a2fafd7
Extended the unit test interface to support skipped tests, expected failures and unexpected successes and to better cope with Python2 scripts when run from the eric IDE.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1131
diff
changeset
|
1155 | |
1112
8a7d1b9d18db
Improved code quality by getting rid of star imports. That way pyflakes can do its job. A few bugs fixed found by flakes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1079
diff
changeset
|
1156 | if resp == DebugProtocol.ResponseUTFinished: |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1157 | self.debugServer.clientUtFinished() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1158 | continue |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1159 | |
1112
8a7d1b9d18db
Improved code quality by getting rid of star imports. That way pyflakes can do its job. A few bugs fixed found by flakes.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1079
diff
changeset
|
1160 | if resp == DebugProtocol.RequestForkTo: |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1161 | self.__askForkTo() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1162 | continue |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1163 | |
481
ad71812ba395
Continued porting signal/slot usage to the new API.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
465
diff
changeset
|
1164 | self.debugServer.signalClientOutput(line) |
5119
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
1165 | |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
1166 | def __handleJsonCommand(self, jsonStr): |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
1167 | """ |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
1168 | Private method to handle a command serialized as a JSON string. |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
1169 | """ |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
1170 | import json |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
1171 | |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
1172 | try: |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
1173 | commandDict = json.loads(jsonStr.strip()) |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
1174 | except json.JSONDecodeError as err: |
5124
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1175 | # TODO: implement real error handling |
5119
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
1176 | print(str(err)) |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
1177 | return |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
1178 | |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
1179 | method = commandDict["method"] |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
1180 | params = commandDict["params"] |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
1181 | |
5124
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1182 | if method in ["ResponseLine", "ResponseStack"]: |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1183 | for s in params["stack"]: |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1184 | s[0] = self.translate(s[0], True) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1185 | cf = params["stack"][0] |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1186 | if self.__autoContinue: |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1187 | self.__autoContinue = False |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1188 | QTimer.singleShot(0, self.remoteContinue) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1189 | else: |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1190 | self.debugServer.signalClientLine( |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1191 | cf[0], int(cf[1]), |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1192 | method == "ResponseStack") |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1193 | self.debugServer.signalClientStack(params["stack"]) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1194 | return |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1195 | |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1196 | if method == "CallTrace": |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1197 | isCall = params["event"].lower() == "c" |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1198 | fromFile, fromLineno, fromFunc = params["from"].rsplit(":", 2) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1199 | toFile, toLineno, toFunc = params["to"].rsplit(":", 2) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1200 | self.debugServer.signalClientCallTrace( |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1201 | isCall, |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1202 | fromFile, fromLineno, fromFunc, |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1203 | toFile, toLineno, toFunc) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1204 | return |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1205 | |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1206 | if method == "ResponseVariables": |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1207 | self.debugServer.signalClientVariables( |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1208 | params["scope"], params["variables"]) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1209 | return |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1210 | |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1211 | if method == "ResponseVariable": |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1212 | self.debugServer.signalClientVariable( |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1213 | params["scope"], [params["variable"]] + params["variables"]) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1214 | return |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1215 | |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1216 | if method == "ResponseThreadList": |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1217 | self.debugServer.signalClientThreadList( |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1218 | params["currentID"], params["threadList"]) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1219 | return |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1220 | |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1221 | if method == "ResponseThreadSet": |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1222 | self.debugServer.signalClientThreadSet() |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1223 | return |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1224 | |
5119
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
1225 | if method == "ResponseCapabilities": |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
1226 | self.clientCapabilities = params["capabilities"] |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
1227 | self.debugServer.signalClientCapabilities( |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
1228 | params["capabilities"], params["clientType"]) |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
1229 | return |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
1230 | |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
1231 | if method == "ResponseBanner": |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
1232 | self.debugServer.signalClientBanner( |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
1233 | params["version"], |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
1234 | params["platform"], |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
1235 | params["dbgclient"]) |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
1236 | return |
5120
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
1237 | |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
1238 | if method == "ResponseOK": |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
1239 | self.debugServer.signalClientStatement(False) |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
1240 | return |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
1241 | |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
1242 | if method == "ResponseContinue": |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
1243 | self.debugServer.signalClientStatement(True) |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
1244 | return |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
1245 | |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
1246 | if method == "RequestRaw": |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
1247 | self.debugServer.signalClientRawInput( |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
1248 | params["prompt"], params["echo"]) |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
1249 | return |
5124
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1250 | |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1251 | if method == "ResponseBPConditionError": |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1252 | params["filename"] = self.translate(params["filename"], True) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1253 | self.debugServer.signalClientBreakConditionError( |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1254 | params["filename"], params["line"]) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1255 | return |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1256 | |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1257 | if method == "ResponseClearBreakpoint": |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1258 | params["filename"] = self.translate(params["filename"], True) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1259 | self.debugServer.signalClientClearBreak( |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1260 | params["filename"], params["line"]) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1261 | return |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1262 | |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1263 | if method == "ResponseWatchConditionError": |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1264 | self.debugServer.signalClientWatchConditionError( |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1265 | params["condition"]) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1266 | return |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1267 | |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1268 | if method == "ResponseClearWatch": |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1269 | self.debugServer.signalClientClearWatch(params["condition"]) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1270 | return |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1271 | |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1272 | if method == "ResponseException": |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1273 | if params: |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1274 | exctype = params["type"] |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1275 | excmessage = params["message"] |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1276 | stack = params["stack"] |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1277 | if stack: |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1278 | for stackEntry in stack: |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1279 | stackEntry[0] = self.translate(stackEntry[0], True) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1280 | if stack[0] and stack[0][0] == "<string>": |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1281 | for stackEntry in stack: |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1282 | if stackEntry[0] == "<string>": |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1283 | stackEntry[0] = self.__scriptName |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1284 | else: |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1285 | break |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1286 | else: |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1287 | exctype = None |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1288 | excmessage = '' |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1289 | stack = [] |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1290 | |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1291 | self.debugServer.signalClientException( |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1292 | exctype, excmessage, stack) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1293 | return |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1294 | |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1295 | if method == "ResponseSyntax": |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1296 | self.debugServer.signalClientSyntaxError( |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1297 | params["message"], self.translate(params["filename"], True), |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1298 | params["linenumber"], params["characternumber"]) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1299 | return |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1300 | |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1301 | if method == "ResponseSignal": |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1302 | self.debugServer.signalClientSignal( |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1303 | params["message"], self.translate(params["filename"], True), |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1304 | params["linenumber"], params["function"], params["arguments"]) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1305 | return |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1306 | |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1307 | if method == "ResponseExit": |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1308 | self.__scriptName = "" |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1309 | self.debugServer.signalClientExit(params["status"]) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1310 | return |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1311 | |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1312 | if method == "PassiveStartup": |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1313 | self.debugServer.passiveStartUp( |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1314 | self.translate(params["filename"], True), params["exceptions"]) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1315 | return |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1316 | |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1317 | if method == "ResponseCompletion": |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1318 | ## clstring, text = line[eoc:-1].split('||') |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1319 | ## cl = eval(clstring) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1320 | self.debugServer.signalClientCompletionList( |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1321 | params["completions"], params["text"]) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1322 | return |
5119
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
1323 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1324 | def __sendCommand(self, cmd): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1325 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1326 | Private method to send a single line command to the client. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1327 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1328 | @param cmd command to send to the debug client (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1329 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1330 | if self.qsock is not None: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1331 | self.qsock.write(cmd.encode('utf8', 'backslashreplace')) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1332 | else: |
859
029eb068fd7b
Fixed a source docu typo.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
1333 | self.queue.append(cmd) |
4553
a6b2acd1a355
Added a debugger interface registry to allow debuggers being implemented as plug-ins and removed the defunct Ruby debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4366
diff
changeset
|
1334 | |
5119
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
1335 | def __sendJsonCommand(self, command, params): |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
1336 | """ |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
1337 | Private method to send a single command to the client. |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
1338 | |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
1339 | @param command command name to be sent |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
1340 | @type str |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
1341 | @param params dictionary of named parameters for the command |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
1342 | @type dict |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
1343 | """ |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
1344 | import json |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
1345 | |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
1346 | commandDict = { |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
1347 | "jsonrpc": "2.0", |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
1348 | "method": command, |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
1349 | "params": params, |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
1350 | } |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
1351 | cmd = json.dumps(commandDict) + '\n' |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
1352 | if self.qsock is not None: |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
1353 | self.qsock.write(cmd.encode('utf8', 'backslashreplace')) |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
1354 | else: |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
1355 | self.queue.append(cmd) |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
1356 | |
4553
a6b2acd1a355
Added a debugger interface registry to allow debuggers being implemented as plug-ins and removed the defunct Ruby debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4366
diff
changeset
|
1357 | |
a6b2acd1a355
Added a debugger interface registry to allow debuggers being implemented as plug-ins and removed the defunct Ruby debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4366
diff
changeset
|
1358 | def createDebuggerInterfacePython3(debugServer, passive): |
a6b2acd1a355
Added a debugger interface registry to allow debuggers being implemented as plug-ins and removed the defunct Ruby debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4366
diff
changeset
|
1359 | """ |
a6b2acd1a355
Added a debugger interface registry to allow debuggers being implemented as plug-ins and removed the defunct Ruby debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4366
diff
changeset
|
1360 | Module function to create a debugger interface instance. |
a6b2acd1a355
Added a debugger interface registry to allow debuggers being implemented as plug-ins and removed the defunct Ruby debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4366
diff
changeset
|
1361 | |
a6b2acd1a355
Added a debugger interface registry to allow debuggers being implemented as plug-ins and removed the defunct Ruby debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4366
diff
changeset
|
1362 | |
a6b2acd1a355
Added a debugger interface registry to allow debuggers being implemented as plug-ins and removed the defunct Ruby debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4366
diff
changeset
|
1363 | @param debugServer reference to the debug server |
a6b2acd1a355
Added a debugger interface registry to allow debuggers being implemented as plug-ins and removed the defunct Ruby debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4366
diff
changeset
|
1364 | @type DebugServer |
a6b2acd1a355
Added a debugger interface registry to allow debuggers being implemented as plug-ins and removed the defunct Ruby debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4366
diff
changeset
|
1365 | @param passive flag indicating passive connection mode |
a6b2acd1a355
Added a debugger interface registry to allow debuggers being implemented as plug-ins and removed the defunct Ruby debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4366
diff
changeset
|
1366 | @type bool |
a6b2acd1a355
Added a debugger interface registry to allow debuggers being implemented as plug-ins and removed the defunct Ruby debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4366
diff
changeset
|
1367 | @return instantiated debugger interface |
a6b2acd1a355
Added a debugger interface registry to allow debuggers being implemented as plug-ins and removed the defunct Ruby debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4366
diff
changeset
|
1368 | @rtype DebuggerInterfacePython |
a6b2acd1a355
Added a debugger interface registry to allow debuggers being implemented as plug-ins and removed the defunct Ruby debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4366
diff
changeset
|
1369 | """ |
a6b2acd1a355
Added a debugger interface registry to allow debuggers being implemented as plug-ins and removed the defunct Ruby debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4366
diff
changeset
|
1370 | return DebuggerInterfacePython3(debugServer, passive) |
a6b2acd1a355
Added a debugger interface registry to allow debuggers being implemented as plug-ins and removed the defunct Ruby debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4366
diff
changeset
|
1371 | |
a6b2acd1a355
Added a debugger interface registry to allow debuggers being implemented as plug-ins and removed the defunct Ruby debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4366
diff
changeset
|
1372 | |
a6b2acd1a355
Added a debugger interface registry to allow debuggers being implemented as plug-ins and removed the defunct Ruby debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4366
diff
changeset
|
1373 | def getRegistryData(): |
a6b2acd1a355
Added a debugger interface registry to allow debuggers being implemented as plug-ins and removed the defunct Ruby debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4366
diff
changeset
|
1374 | """ |
a6b2acd1a355
Added a debugger interface registry to allow debuggers being implemented as plug-ins and removed the defunct Ruby debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4366
diff
changeset
|
1375 | Module function to get characterizing data for the debugger interface. |
a6b2acd1a355
Added a debugger interface registry to allow debuggers being implemented as plug-ins and removed the defunct Ruby debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4366
diff
changeset
|
1376 | |
a6b2acd1a355
Added a debugger interface registry to allow debuggers being implemented as plug-ins and removed the defunct Ruby debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4366
diff
changeset
|
1377 | @return tuple containing client type, client capabilities, client file |
a6b2acd1a355
Added a debugger interface registry to allow debuggers being implemented as plug-ins and removed the defunct Ruby debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4366
diff
changeset
|
1378 | type associations and reference to creation function |
a6b2acd1a355
Added a debugger interface registry to allow debuggers being implemented as plug-ins and removed the defunct Ruby debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4366
diff
changeset
|
1379 | @rtype tuple of (str, int, list of str, function) |
a6b2acd1a355
Added a debugger interface registry to allow debuggers being implemented as plug-ins and removed the defunct Ruby debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4366
diff
changeset
|
1380 | """ |
a6b2acd1a355
Added a debugger interface registry to allow debuggers being implemented as plug-ins and removed the defunct Ruby debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4366
diff
changeset
|
1381 | exts = [] |
a6b2acd1a355
Added a debugger interface registry to allow debuggers being implemented as plug-ins and removed the defunct Ruby debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4366
diff
changeset
|
1382 | for ext in Preferences.getDebugger("Python3Extensions").split(): |
a6b2acd1a355
Added a debugger interface registry to allow debuggers being implemented as plug-ins and removed the defunct Ruby debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4366
diff
changeset
|
1383 | if ext.startswith("."): |
a6b2acd1a355
Added a debugger interface registry to allow debuggers being implemented as plug-ins and removed the defunct Ruby debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4366
diff
changeset
|
1384 | exts.append(ext) |
a6b2acd1a355
Added a debugger interface registry to allow debuggers being implemented as plug-ins and removed the defunct Ruby debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4366
diff
changeset
|
1385 | else: |
a6b2acd1a355
Added a debugger interface registry to allow debuggers being implemented as plug-ins and removed the defunct Ruby debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4366
diff
changeset
|
1386 | exts.append(".{0}".format(ext)) |
a6b2acd1a355
Added a debugger interface registry to allow debuggers being implemented as plug-ins and removed the defunct Ruby debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4366
diff
changeset
|
1387 | |
a6b2acd1a355
Added a debugger interface registry to allow debuggers being implemented as plug-ins and removed the defunct Ruby debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4366
diff
changeset
|
1388 | if exts: |
a6b2acd1a355
Added a debugger interface registry to allow debuggers being implemented as plug-ins and removed the defunct Ruby debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4366
diff
changeset
|
1389 | return ["Python3", ClientDefaultCapabilities, exts, |
a6b2acd1a355
Added a debugger interface registry to allow debuggers being implemented as plug-ins and removed the defunct Ruby debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4366
diff
changeset
|
1390 | createDebuggerInterfacePython3] |
a6b2acd1a355
Added a debugger interface registry to allow debuggers being implemented as plug-ins and removed the defunct Ruby debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4366
diff
changeset
|
1391 | else: |
a6b2acd1a355
Added a debugger interface registry to allow debuggers being implemented as plug-ins and removed the defunct Ruby debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4366
diff
changeset
|
1392 | return ["", 0, [], None] |