Wed, 08 Nov 2017 19:05:55 +0100
Introduced a configuration option for the debugger variables viewers to limit the variables shown by the variables viewers depending on their size (in order to avoid overload situations on low power or low memory machines).
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 | |
5389
9b1c800daff3
Updated copyright for 2017.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5269
diff
changeset
|
3 | # Copyright (c) 2009 - 2017 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 | |
12
1d8dd9706f46
First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
22 | from . import DebugClientCapabilities |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
23 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
24 | import Preferences |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
25 | import Utilities |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
26 | |
3670
f0cb7579c0b4
Finished renaming eric5 for PyQt5 to eric6.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3656
diff
changeset
|
27 | from eric6config import getConfig |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
28 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
29 | |
27
1018a0347ae9
Set the Python3 debugger to have all capabilities.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
15
diff
changeset
|
30 | ClientDefaultCapabilities = DebugClientCapabilities.HasAll |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
31 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
859
diff
changeset
|
32 | |
5850
7fae79975686
Unified the Python2 and Python3 debugger interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5848
diff
changeset
|
33 | class DebuggerInterfacePython(QObject): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
34 | """ |
5850
7fae79975686
Unified the Python2 and Python3 debugger interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5848
diff
changeset
|
35 | Class implementing the debugger interface for the debug server for Python 2 |
7fae79975686
Unified the Python2 and Python3 debugger interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5848
diff
changeset
|
36 | and Python 3. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
37 | """ |
5850
7fae79975686
Unified the Python2 and Python3 debugger interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5848
diff
changeset
|
38 | def __init__(self, debugServer, passive, pythonVariant): |
0
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 | |
5850
7fae79975686
Unified the Python2 and Python3 debugger interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5848
diff
changeset
|
42 | @param debugServer reference to the debug server |
7fae79975686
Unified the Python2 and Python3 debugger interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5848
diff
changeset
|
43 | @type DebugServer |
7fae79975686
Unified the Python2 and Python3 debugger interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5848
diff
changeset
|
44 | @param passive flag indicating passive connection mode |
7fae79975686
Unified the Python2 and Python3 debugger interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5848
diff
changeset
|
45 | @type bool |
7fae79975686
Unified the Python2 and Python3 debugger interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5848
diff
changeset
|
46 | @param pythonVariant Python variant to instantiate for |
7fae79975686
Unified the Python2 and Python3 debugger interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5848
diff
changeset
|
47 | @type str (one of Python2 or Python3) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
48 | """ |
5850
7fae79975686
Unified the Python2 and Python3 debugger interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5848
diff
changeset
|
49 | super(DebuggerInterfacePython, self).__init__() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
50 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
51 | 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
|
52 | self.__autoContinue = False |
0
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.debugServer = debugServer |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
55 | self.passive = passive |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
56 | self.process = None |
5850
7fae79975686
Unified the Python2 and Python3 debugger interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5848
diff
changeset
|
57 | self.__variant = pythonVariant |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
58 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
59 | self.qsock = None |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
60 | 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
|
61 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
62 | # set default values for capabilities of clients |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
63 | self.clientCapabilities = ClientDefaultCapabilities |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
64 | |
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
|
65 | # 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
|
66 | 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
|
67 | |
2988
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
68 | 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
|
69 | str(Preferences.getSystem("StringEncoding"))) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
70 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
71 | if passive: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
72 | # set translation function |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
73 | if Preferences.getDebugger("PathTranslation"): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
74 | self.translateRemote = \ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
75 | Preferences.getDebugger("PathTranslationRemote") |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
76 | self.translateLocal = \ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
77 | Preferences.getDebugger("PathTranslationLocal") |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
78 | self.translate = self.__remoteTranslation |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
79 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
80 | self.translate = self.__identityTranslation |
1171
1ffefa5ca226
Improved handling of debugger sending "<string>".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1166
diff
changeset
|
81 | |
1ffefa5ca226
Improved handling of debugger sending "<string>".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1166
diff
changeset
|
82 | # 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
|
83 | self.__scriptName = "" |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
84 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
859
diff
changeset
|
85 | def __identityTranslation(self, fn, remote2local=True): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
86 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
87 | Private method to perform the identity path translation. |
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 | @param fn filename to be translated (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
90 | @param remote2local flag indicating the direction of translation |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
91 | (False = local to remote, True = remote to local [default]) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
92 | @return translated filename (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
93 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
94 | return fn |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
95 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
859
diff
changeset
|
96 | def __remoteTranslation(self, fn, remote2local=True): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
97 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
98 | Private method to perform the path translation. |
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 | @param fn filename to be translated (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
101 | @param remote2local flag indicating the direction of translation |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
102 | (False = local to remote, True = remote to local [default]) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
103 | @return translated filename (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
104 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
105 | if remote2local: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
106 | return fn.replace(self.translateRemote, self.translateLocal) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
107 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
108 | return fn.replace(self.translateLocal, self.translateRemote) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
109 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
859
diff
changeset
|
110 | def __startProcess(self, program, arguments, environment=None): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
111 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
112 | Private method to start the debugger client process. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
113 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
114 | @param program name of the executable to start (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
115 | @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
|
116 | @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
|
117 | (dict of string) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
118 | @return the process object (QProcess) or None |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
119 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
120 | proc = QProcess() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
121 | if environment is not None: |
3656
441956d8fce5
Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3640
diff
changeset
|
122 | env = QProcessEnvironment() |
12
1d8dd9706f46
First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
123 | for key, value in list(environment.items()): |
3656
441956d8fce5
Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3640
diff
changeset
|
124 | env.insert(key, value) |
441956d8fce5
Started porting eric5 to PyQt5.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3640
diff
changeset
|
125 | proc.setProcessEnvironment(env) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
126 | args = [] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
127 | for arg in arguments: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
128 | args.append(arg) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
129 | proc.start(program, args) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
130 | if not proc.waitForStarted(10000): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
131 | proc = None |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
132 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
133 | return proc |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
134 | |
5899
0516f6548ca6
Added the capability to enter an interpreter in the Start... dialogs of the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5850
diff
changeset
|
135 | def startRemote(self, port, runInConsole, interpreter): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
136 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
137 | Public method to start a remote Python interpreter. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
138 | |
5899
0516f6548ca6
Added the capability to enter an interpreter in the Start... dialogs of the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5850
diff
changeset
|
139 | @param port port number 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
|
140 | @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
|
141 | console window (boolean) |
5899
0516f6548ca6
Added the capability to enter an interpreter in the Start... dialogs of the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5850
diff
changeset
|
142 | @param interpreter interpreter to be used to execute the remote |
0516f6548ca6
Added the capability to enter an interpreter in the Start... dialogs of the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5850
diff
changeset
|
143 | side (string) |
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
|
144 | @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
|
145 | 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
|
146 | in case of a local execution (string) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
147 | """ |
5899
0516f6548ca6
Added the capability to enter an interpreter in the Start... dialogs of the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5850
diff
changeset
|
148 | if not interpreter: |
0516f6548ca6
Added the capability to enter an interpreter in the Start... dialogs of the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5850
diff
changeset
|
149 | if self.__variant == "Python2": |
0516f6548ca6
Added the capability to enter an interpreter in the Start... dialogs of the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5850
diff
changeset
|
150 | interpreter = Preferences.getDebugger("PythonInterpreter") |
0516f6548ca6
Added the capability to enter an interpreter in the Start... dialogs of the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5850
diff
changeset
|
151 | else: |
0516f6548ca6
Added the capability to enter an interpreter in the Start... dialogs of the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5850
diff
changeset
|
152 | interpreter = Preferences.getDebugger("Python3Interpreter") |
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
|
153 | if interpreter == "": |
3065
070b35dde35e
Fixed a bunch of indentation issues.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3060
diff
changeset
|
154 | E5MessageBox.critical( |
070b35dde35e
Fixed a bunch of indentation issues.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
3060
diff
changeset
|
155 | None, |
3484 | 156 | self.tr("Start Debugger"), |
157 | self.tr( | |
5850
7fae79975686
Unified the Python2 and Python3 debugger interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5848
diff
changeset
|
158 | """<p>No {0} interpreter configured.</p>""") |
7fae79975686
Unified the Python2 and Python3 debugger interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5848
diff
changeset
|
159 | .format(self.__variant)) |
3484 | 160 | return None, False, "" |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
161 | |
5850
7fae79975686
Unified the Python2 and Python3 debugger interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5848
diff
changeset
|
162 | if self.__variant == "Python2": |
7fae79975686
Unified the Python2 and Python3 debugger interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5848
diff
changeset
|
163 | debugClientType = Preferences.getDebugger("DebugClientType") |
7fae79975686
Unified the Python2 and Python3 debugger interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5848
diff
changeset
|
164 | else: |
7fae79975686
Unified the Python2 and Python3 debugger interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5848
diff
changeset
|
165 | debugClientType = Preferences.getDebugger("DebugClientType3") |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
166 | 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
|
167 | debugClient = os.path.join(getConfig('ericDir'), |
5179
5f56410e7624
Combined version of the Python debugger.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
5162
diff
changeset
|
168 | "DebugClients", "Python", |
2988
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
169 | "DebugClient.py") |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
170 | else: |
5850
7fae79975686
Unified the Python2 and Python3 debugger interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5848
diff
changeset
|
171 | if self.__variant == "Python2": |
7fae79975686
Unified the Python2 and Python3 debugger interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5848
diff
changeset
|
172 | debugClient = Preferences.getDebugger("DebugClient") |
7fae79975686
Unified the Python2 and Python3 debugger interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5848
diff
changeset
|
173 | else: |
7fae79975686
Unified the Python2 and Python3 debugger interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5848
diff
changeset
|
174 | debugClient = Preferences.getDebugger("DebugClient3") |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
175 | if debugClient == "": |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
176 | debugClient = os.path.join(sys.path[0], |
5179
5f56410e7624
Combined version of the Python debugger.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
5162
diff
changeset
|
177 | "DebugClients", "Python", |
2988
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
178 | "DebugClient.py") |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
179 | |
5850
7fae79975686
Unified the Python2 and Python3 debugger interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5848
diff
changeset
|
180 | if self.__variant == "Python2": |
7fae79975686
Unified the Python2 and Python3 debugger interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5848
diff
changeset
|
181 | redirect = str(Preferences.getDebugger("PythonRedirect")) |
7fae79975686
Unified the Python2 and Python3 debugger interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5848
diff
changeset
|
182 | noencoding = Preferences.getDebugger("PythonNoEncoding") and \ |
7fae79975686
Unified the Python2 and Python3 debugger interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5848
diff
changeset
|
183 | '--no-encoding' or '' |
7fae79975686
Unified the Python2 and Python3 debugger interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5848
diff
changeset
|
184 | else: |
7fae79975686
Unified the Python2 and Python3 debugger interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5848
diff
changeset
|
185 | redirect = str(Preferences.getDebugger("Python3Redirect")) |
7fae79975686
Unified the Python2 and Python3 debugger interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5848
diff
changeset
|
186 | noencoding = Preferences.getDebugger("Python3NoEncoding") and \ |
7fae79975686
Unified the Python2 and Python3 debugger interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5848
diff
changeset
|
187 | '--no-encoding' or '' |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
188 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
189 | if Preferences.getDebugger("RemoteDbgEnabled"): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
190 | ipaddr = self.debugServer.getHostAddress(False) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
191 | rexec = Preferences.getDebugger("RemoteExecution") |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
192 | rhost = Preferences.getDebugger("RemoteHost") |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
193 | if rhost == "": |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
194 | rhost = "localhost" |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
195 | if rexec: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
196 | 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
|
197 | [rhost, interpreter, debugClient, |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
198 | noencoding, str(port), redirect, ipaddr] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
199 | args[0] = Utilities.getExecutablePath(args[0]) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
200 | process = self.__startProcess(args[0], args[1:]) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
201 | if process is None: |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2988
diff
changeset
|
202 | E5MessageBox.critical( |
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2988
diff
changeset
|
203 | None, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
204 | 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
|
205 | self.tr( |
2988
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
206 | """<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
|
207 | """ started.</p>""")) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
208 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
209 | # set translation function |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
210 | if Preferences.getDebugger("PathTranslation"): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
211 | self.translateRemote = \ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
212 | Preferences.getDebugger("PathTranslationRemote") |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
213 | self.translateLocal = \ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
214 | Preferences.getDebugger("PathTranslationLocal") |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
215 | self.translate = self.__remoteTranslation |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
216 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
217 | 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
|
218 | return process, self.__isNetworked, "" |
0
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 | # set translation function |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
221 | self.translate = self.__identityTranslation |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
222 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
223 | # setup the environment for the debugger |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
224 | if Preferences.getDebugger("DebugEnvironmentReplace"): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
225 | clientEnv = {} |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
226 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
227 | clientEnv = os.environ.copy() |
564
b3d966393ba9
Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
537
diff
changeset
|
228 | envlist = Utilities.parseEnvironmentString( |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
229 | Preferences.getDebugger("DebugEnvironment")) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
230 | for el in envlist: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
231 | try: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
232 | key, value = el.split('=', 1) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
233 | if value.startswith('"') or value.startswith("'"): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
234 | value = value[1:-1] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
235 | 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
|
236 | except ValueError: |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
237 | pass |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
238 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
239 | ipaddr = self.debugServer.getHostAddress(True) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
240 | if runInConsole or Preferences.getDebugger("ConsoleDbgEnabled"): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
241 | ccmd = Preferences.getDebugger("ConsoleDbgCommand") |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
242 | if ccmd: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
243 | args = Utilities.parseOptionString(ccmd) + \ |
3032
927a2f8b3669
Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3021
diff
changeset
|
244 | [interpreter, os.path.abspath(debugClient), |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
245 | noencoding, str(port), '0', ipaddr] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
246 | args[0] = Utilities.getExecutablePath(args[0]) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
247 | process = self.__startProcess(args[0], args[1:], clientEnv) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
248 | if process is None: |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2988
diff
changeset
|
249 | E5MessageBox.critical( |
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2988
diff
changeset
|
250 | None, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
251 | 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
|
252 | self.tr( |
2988
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
253 | """<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
|
254 | """ 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
|
255 | return process, self.__isNetworked, interpreter |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
256 | |
3021
801289962f4e
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
257 | process = self.__startProcess( |
801289962f4e
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
258 | 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
|
259 | [debugClient, noencoding, str(port), redirect, ipaddr], |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
260 | clientEnv) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
261 | if process is None: |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2988
diff
changeset
|
262 | E5MessageBox.critical( |
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2988
diff
changeset
|
263 | None, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
264 | 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
|
265 | self.tr( |
2988
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
266 | """<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
|
267 | return process, self.__isNetworked, interpreter |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
268 | |
5899
0516f6548ca6
Added the capability to enter an interpreter in the Start... dialogs of the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5850
diff
changeset
|
269 | def startRemoteForProject(self, port, runInConsole, interpreter): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
270 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
271 | 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
|
272 | |
5899
0516f6548ca6
Added the capability to enter an interpreter in the Start... dialogs of the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5850
diff
changeset
|
273 | @param port port number 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
|
274 | @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
|
275 | console window (boolean) |
5899
0516f6548ca6
Added the capability to enter an interpreter in the Start... dialogs of the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5850
diff
changeset
|
276 | @param interpreter interpreter to be used to execute the remote |
0516f6548ca6
Added the capability to enter an interpreter in the Start... dialogs of the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5850
diff
changeset
|
277 | side (string) |
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
|
278 | @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
|
279 | 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
|
280 | in case of a local execution (string) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
281 | """ |
53
c3eb7cc1ff8b
Renamed e5App to e5App.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
40
diff
changeset
|
282 | project = e5App().getObject("Project") |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
283 | 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
|
284 | return None, self.__isNetworked, "" |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
285 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
286 | # start debugger with project specific settings |
5899
0516f6548ca6
Added the capability to enter an interpreter in the Start... dialogs of the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5850
diff
changeset
|
287 | if not interpreter: |
0516f6548ca6
Added the capability to enter an interpreter in the Start... dialogs of the debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5850
diff
changeset
|
288 | interpreter = project.getDebugProperty("INTERPRETER") |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
289 | debugClient = project.getDebugProperty("DEBUGCLIENT") |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
290 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
291 | redirect = str(project.getDebugProperty("REDIRECT")) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
292 | noencoding = \ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
293 | project.getDebugProperty("NOENCODING") and '--no-encoding' or '' |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
294 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
295 | if project.getDebugProperty("REMOTEDEBUGGER"): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
296 | ipaddr = self.debugServer.getHostAddress(False) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
297 | rexec = project.getDebugProperty("REMOTECOMMAND") |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
298 | rhost = project.getDebugProperty("REMOTEHOST") |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
299 | if rhost == "": |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
300 | rhost = "localhost" |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
301 | if rexec: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
302 | args = Utilities.parseOptionString(rexec) + \ |
3032
927a2f8b3669
Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3021
diff
changeset
|
303 | [rhost, interpreter, os.path.abspath(debugClient), |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
304 | noencoding, str(port), redirect, ipaddr] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
305 | args[0] = Utilities.getExecutablePath(args[0]) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
306 | process = self.__startProcess(args[0], args[1:]) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
307 | if process is None: |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2988
diff
changeset
|
308 | E5MessageBox.critical( |
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2988
diff
changeset
|
309 | None, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
310 | 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
|
311 | self.tr( |
2988
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
312 | """<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
|
313 | """ started.</p>""")) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
314 | # set translation function |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
315 | 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
|
316 | self.translateRemote = \ |
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
317 | project.getDebugProperty("REMOTEPATH") |
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
318 | self.translateLocal = \ |
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
319 | project.getDebugProperty("LOCALPATH") |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
320 | self.translate = self.__remoteTranslation |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
321 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
322 | 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
|
323 | return process, self.__isNetworked, "" |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
324 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
325 | # set translation function |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
326 | self.translate = self.__identityTranslation |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
327 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
328 | # setup the environment for the debugger |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
329 | if project.getDebugProperty("ENVIRONMENTOVERRIDE"): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
330 | clientEnv = {} |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
331 | else: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
332 | clientEnv = os.environ.copy() |
564
b3d966393ba9
Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
537
diff
changeset
|
333 | envlist = Utilities.parseEnvironmentString( |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
334 | project.getDebugProperty("ENVIRONMENTSTRING")) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
335 | for el in envlist: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
336 | try: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
337 | key, value = el.split('=', 1) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
338 | if value.startswith('"') or value.startswith("'"): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
339 | value = value[1:-1] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
340 | 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
|
341 | except ValueError: |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
342 | pass |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
343 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
344 | ipaddr = self.debugServer.getHostAddress(True) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
345 | if runInConsole or project.getDebugProperty("CONSOLEDEBUGGER"): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
346 | ccmd = project.getDebugProperty("CONSOLECOMMAND") or \ |
3032
927a2f8b3669
Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3021
diff
changeset
|
347 | Preferences.getDebugger("ConsoleDbgCommand") |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
348 | if ccmd: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
349 | args = Utilities.parseOptionString(ccmd) + \ |
3032
927a2f8b3669
Fixed various coding style issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3021
diff
changeset
|
350 | [interpreter, os.path.abspath(debugClient), |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
351 | noencoding, str(port), '0', ipaddr] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
352 | args[0] = Utilities.getExecutablePath(args[0]) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
353 | process = self.__startProcess(args[0], args[1:], clientEnv) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
354 | if process is None: |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2988
diff
changeset
|
355 | E5MessageBox.critical( |
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2988
diff
changeset
|
356 | None, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
357 | 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
|
358 | self.tr( |
2988
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
359 | """<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
|
360 | """ 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
|
361 | return process, self.__isNetworked, interpreter |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
362 | |
3021
801289962f4e
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
363 | process = self.__startProcess( |
801289962f4e
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3020
diff
changeset
|
364 | 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
|
365 | [debugClient, noencoding, str(port), redirect, ipaddr], |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
366 | clientEnv) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
367 | if process is None: |
3020
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2988
diff
changeset
|
368 | E5MessageBox.critical( |
542e97d4ecb3
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2988
diff
changeset
|
369 | None, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
370 | 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
|
371 | self.tr( |
2988
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
372 | """<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
|
373 | return process, self.__isNetworked, interpreter |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
374 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
375 | def getClientCapabilities(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
376 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
377 | Public method to retrieve the debug clients capabilities. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
378 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
379 | @return debug client capabilities (integer) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
380 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
381 | return self.clientCapabilities |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
382 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
383 | def newConnection(self, sock): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
384 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
385 | Public slot to handle a new connection. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
386 | |
859
029eb068fd7b
Fixed a source docu typo.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
387 | @param sock reference to the socket object (QTcpSocket) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
388 | @return flag indicating success (boolean) |
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 | # 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
|
391 | # automatically. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
392 | if self.qsock is not None: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
393 | return False |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
394 | |
3345
071afe8be2a1
Changed signal/slot usage to not use constructs like 'triggered[()].connect(...)' anymore.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3190
diff
changeset
|
395 | 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
|
396 | sock.readyRead.connect(self.__parseClientLine) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
397 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
398 | self.qsock = sock |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
399 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
400 | # Get the remote clients capabilities |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
401 | self.remoteCapabilities() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
402 | return True |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
403 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
404 | def flush(self): |
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 | Public slot to flush the queue. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
407 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
408 | # Send commands that were waiting for the connection. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
409 | for cmd in self.queue: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
410 | self.qsock.write(cmd.encode('utf8', 'backslashreplace')) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
411 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
412 | self.queue = [] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
413 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
414 | def shutdown(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
415 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
416 | Public method to cleanly shut down. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
417 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
418 | It closes our socket and shuts down |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
419 | the debug client. (Needed on Win OS) |
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 | if self.qsock is None: |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
422 | return |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
423 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
424 | # 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
|
425 | 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
|
426 | self.qsock.readyRead.disconnect(self.__parseClientLine) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
427 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
428 | # 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
|
429 | self.__sendJsonCommand("RequestShutdown", {}) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
430 | self.qsock.flush() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
431 | self.qsock.close() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
432 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
433 | # reinitialize |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
434 | self.qsock = None |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
435 | self.queue = [] |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
436 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
437 | def isConnected(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
438 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
439 | 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
|
440 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
441 | @return flag indicating the connection status (boolean) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
442 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
443 | return self.qsock is not None |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
444 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
445 | def remoteEnvironment(self, env): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
446 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
447 | 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
|
448 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
449 | @param env environment settings (dictionary) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
450 | """ |
5119
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
451 | self.__sendJsonCommand("RequestEnvironment", {"environment": env}) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
452 | |
2988
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
453 | 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
|
454 | autoContinue=True, autoFork=False, forkChild=False): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
455 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
456 | Public method to load a new program to debug. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
457 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
458 | @param fn the filename to debug (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
459 | @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
|
460 | @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
|
461 | @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
|
462 | 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
|
463 | @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
|
464 | stop at the first executable line (boolean) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
465 | @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
|
466 | @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
|
467 | (boolean) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
468 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
469 | self.__autoContinue = autoContinue |
1171
1ffefa5ca226
Improved handling of debugger sending "<string>".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1166
diff
changeset
|
470 | self.__scriptName = os.path.abspath(fn) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
471 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
472 | wd = self.translate(wd, False) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
473 | 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
|
474 | self.__sendJsonCommand("RequestLoad", { |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
475 | "workdir": wd, |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
476 | "filename": fn, |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
477 | "argv": Utilities.parseOptionString(argv), |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
478 | "traceInterpreter": traceInterpreter, |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
479 | "autofork": autoFork, |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
480 | "forkChild": forkChild, |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
481 | }) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
482 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
859
diff
changeset
|
483 | 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
|
484 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
485 | Public method to load a new program to run. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
486 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
487 | @param fn the filename to run (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
488 | @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
|
489 | @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
|
490 | @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
|
491 | @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
|
492 | (boolean) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
493 | """ |
1171
1ffefa5ca226
Improved handling of debugger sending "<string>".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1166
diff
changeset
|
494 | self.__scriptName = os.path.abspath(fn) |
1ffefa5ca226
Improved handling of debugger sending "<string>".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1166
diff
changeset
|
495 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
496 | wd = self.translate(wd, False) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
497 | 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
|
498 | self.__sendJsonCommand("RequestRun", { |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
499 | "workdir": wd, |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
500 | "filename": fn, |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
501 | "argv": Utilities.parseOptionString(argv), |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
502 | "autofork": autoFork, |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
503 | "forkChild": forkChild, |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
504 | }) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
505 | |
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 | def remoteCoverage(self, fn, argv, wd, erase=False): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
507 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
508 | 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
|
509 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
510 | @param fn the filename to run (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
511 | @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
|
512 | @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
|
513 | @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
|
514 | cleared first (boolean) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
515 | """ |
1171
1ffefa5ca226
Improved handling of debugger sending "<string>".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1166
diff
changeset
|
516 | self.__scriptName = os.path.abspath(fn) |
1ffefa5ca226
Improved handling of debugger sending "<string>".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1166
diff
changeset
|
517 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
518 | wd = self.translate(wd, False) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
519 | 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
|
520 | self.__sendJsonCommand("RequestCoverage", { |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
521 | "workdir": wd, |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
522 | "filename": fn, |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
523 | "argv": Utilities.parseOptionString(argv), |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
524 | "erase": erase, |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
525 | }) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
526 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
859
diff
changeset
|
527 | def remoteProfile(self, fn, argv, wd, erase=False): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
528 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
529 | 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
|
530 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
531 | @param fn the filename to run (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
532 | @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
|
533 | @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
|
534 | @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
|
535 | first (boolean) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
536 | """ |
1171
1ffefa5ca226
Improved handling of debugger sending "<string>".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1166
diff
changeset
|
537 | self.__scriptName = os.path.abspath(fn) |
1ffefa5ca226
Improved handling of debugger sending "<string>".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1166
diff
changeset
|
538 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
539 | wd = self.translate(wd, False) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
540 | 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
|
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.__sendJsonCommand("ExecuteStatement", { |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
556 | "statement": stmt, |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
557 | }) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
558 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
559 | def remoteStep(self): |
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 | Public method to single step the debugged program. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
562 | """ |
5120
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
563 | self.__sendJsonCommand("RequestStep", {}) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
564 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
565 | def remoteStepOver(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
566 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
567 | Public method to step over the debugged program. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
568 | """ |
5120
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
569 | self.__sendJsonCommand("RequestStepOver", {}) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
570 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
571 | def remoteStepOut(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
572 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
573 | Public method to step out the debugged program. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
574 | """ |
5120
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
575 | self.__sendJsonCommand("RequestStepOut", {}) |
0
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 | def remoteStepQuit(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
578 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
579 | Public method to stop the debugged program. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
580 | """ |
5120
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
581 | self.__sendJsonCommand("RequestStepQuit", {}) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
582 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
859
diff
changeset
|
583 | def remoteContinue(self, special=False): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
584 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
585 | Public method to continue the debugged program. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
586 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
587 | @param special flag indicating a special continue operation |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
588 | """ |
5120
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
589 | self.__sendJsonCommand("RequestContinue", { |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
590 | "special": special, |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
591 | }) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
592 | |
5658
e5f6fe5855fd
move the instruction pointer within the current function (Hotkey: F12)
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
5587
diff
changeset
|
593 | def remoteMoveIP(self, line): |
e5f6fe5855fd
move the instruction pointer within the current function (Hotkey: F12)
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
5587
diff
changeset
|
594 | """ |
e5f6fe5855fd
move the instruction pointer within the current function (Hotkey: F12)
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
5587
diff
changeset
|
595 | Public method to move the instruction pointer to a different line. |
e5f6fe5855fd
move the instruction pointer within the current function (Hotkey: F12)
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
5587
diff
changeset
|
596 | |
e5f6fe5855fd
move the instruction pointer within the current function (Hotkey: F12)
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
5587
diff
changeset
|
597 | @param line the new line, where execution should be continued |
e5f6fe5855fd
move the instruction pointer within the current function (Hotkey: F12)
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
5587
diff
changeset
|
598 | """ |
e5f6fe5855fd
move the instruction pointer within the current function (Hotkey: F12)
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
5587
diff
changeset
|
599 | self.__sendJsonCommand("RequestMoveIP", { |
e5f6fe5855fd
move the instruction pointer within the current function (Hotkey: F12)
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
5587
diff
changeset
|
600 | "newLine": line, |
e5f6fe5855fd
move the instruction pointer within the current function (Hotkey: F12)
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
5587
diff
changeset
|
601 | }) |
e5f6fe5855fd
move the instruction pointer within the current function (Hotkey: F12)
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
5587
diff
changeset
|
602 | |
5124
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
603 | 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
|
604 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
605 | Public method to set or clear a breakpoint. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
606 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
607 | @param fn filename the breakpoint belongs to (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
608 | @param line linenumber of the breakpoint (int) |
5124
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
609 | @param setBreakpoint flag indicating setting or resetting a |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
610 | breakpoint (boolean) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
611 | @param cond condition of the breakpoint (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
612 | @param temp flag indicating a temporary breakpoint (boolean) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
613 | """ |
5124
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
614 | self.__sendJsonCommand("RequestBreakpoint", { |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
615 | "filename": self.translate(fn, False), |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
616 | "line": line, |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
617 | "temporary": temp, |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
618 | "setBreakpoint": setBreakpoint, |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
619 | "condition": cond, |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
620 | }) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
621 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
622 | def remoteBreakpointEnable(self, fn, line, enable): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
623 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
624 | Public method to enable or disable a breakpoint. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
625 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
626 | @param fn filename the breakpoint belongs to (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
627 | @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
|
628 | @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
|
629 | (boolean) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
630 | """ |
5124
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
631 | self.__sendJsonCommand("RequestBreakpointEnable", { |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
632 | "filename": self.translate(fn, False), |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
633 | "line": line, |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
634 | "enable": enable, |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
635 | }) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
636 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
637 | def remoteBreakpointIgnore(self, fn, line, count): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
638 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
639 | 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
|
640 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
641 | @param fn filename the breakpoint belongs to (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
642 | @param line linenumber of the breakpoint (int) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
643 | @param count number of occurrences to ignore (int) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
644 | """ |
5124
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
645 | self.__sendJsonCommand("RequestBreakpointIgnore", { |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
646 | "filename": self.translate(fn, False), |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
647 | "line": line, |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
648 | "count": count, |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
649 | }) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
650 | |
5124
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
651 | def remoteWatchpoint(self, cond, setWatch, temp=False): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
652 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
653 | Public method to set or clear a watch expression. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
654 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
655 | @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
|
656 | @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
|
657 | (boolean) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
658 | @param temp flag indicating a temporary watch expression (boolean) |
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 | # 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
|
661 | self.__sendJsonCommand("RequestWatch", { |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
662 | "temporary": temp, |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
663 | "setWatch": setWatch, |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
664 | "condition": cond, |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
665 | }) |
0
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 | def remoteWatchpointEnable(self, cond, enable): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
668 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
669 | Public method to enable or disable a watch expression. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
670 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
671 | @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
|
672 | @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
|
673 | (boolean) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
674 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
675 | # 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
|
676 | self.__sendJsonCommand("RequestWatchEnable", { |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
677 | "condition": cond, |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
678 | "enable": enable, |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
679 | }) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
680 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
681 | def remoteWatchpointIgnore(self, cond, count): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
682 | """ |
2988
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
683 | 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
|
684 | occurrences. |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
685 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
686 | @param cond expression of the watch expression (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
687 | @param count number of occurrences to ignore (int) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
688 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
689 | # 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
|
690 | self.__sendJsonCommand("RequestWatchIgnore", { |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
691 | "condition": cond, |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
692 | "count": count, |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
693 | }) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
694 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
859
diff
changeset
|
695 | def remoteRawInput(self, s): |
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 | 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
|
698 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
699 | @param s the raw input (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
700 | """ |
5120
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
701 | self.__sendJsonCommand("RawInput", { |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
702 | "input": s, |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
703 | }) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
704 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
705 | def remoteThreadList(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
706 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
707 | 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
|
708 | """ |
5124
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
709 | self.__sendJsonCommand("RequestThreadList", {}) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
710 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
711 | def remoteSetThread(self, tid): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
712 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
713 | 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
|
714 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
715 | @param tid id of the thread (integer) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
716 | """ |
5124
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
717 | self.__sendJsonCommand("RequestThreadSet", { |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
718 | "threadID": tid, |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
719 | }) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
720 | |
5964
066e6c78a367
Introduced a configuration option for the debugger variables viewers to limit the variables shown by the variables viewers depending on their size (in order to avoid overload situations on low power or low memory machines).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5899
diff
changeset
|
721 | def remoteClientVariables(self, scope, filterList, framenr=0, maxSize=0): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
722 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
723 | 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
|
724 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
725 | @param scope the scope of the variables (0 = local, 1 = global) |
5964
066e6c78a367
Introduced a configuration option for the debugger variables viewers to limit the variables shown by the variables viewers depending on their size (in order to avoid overload situations on low power or low memory machines).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5899
diff
changeset
|
726 | @type int |
066e6c78a367
Introduced a configuration option for the debugger variables viewers to limit the variables shown by the variables viewers depending on their size (in order to avoid overload situations on low power or low memory machines).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5899
diff
changeset
|
727 | @param filterList list of variable types to filter out |
066e6c78a367
Introduced a configuration option for the debugger variables viewers to limit the variables shown by the variables viewers depending on their size (in order to avoid overload situations on low power or low memory machines).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5899
diff
changeset
|
728 | @type list of int |
066e6c78a367
Introduced a configuration option for the debugger variables viewers to limit the variables shown by the variables viewers depending on their size (in order to avoid overload situations on low power or low memory machines).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5899
diff
changeset
|
729 | @param framenr framenumber of the variables to retrieve |
066e6c78a367
Introduced a configuration option for the debugger variables viewers to limit the variables shown by the variables viewers depending on their size (in order to avoid overload situations on low power or low memory machines).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5899
diff
changeset
|
730 | @type int |
066e6c78a367
Introduced a configuration option for the debugger variables viewers to limit the variables shown by the variables viewers depending on their size (in order to avoid overload situations on low power or low memory machines).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5899
diff
changeset
|
731 | @param maxSize maximum size the formatted value of a variable will |
066e6c78a367
Introduced a configuration option for the debugger variables viewers to limit the variables shown by the variables viewers depending on their size (in order to avoid overload situations on low power or low memory machines).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5899
diff
changeset
|
732 | be shown. If it is bigger than that, a 'too big' indication will |
066e6c78a367
Introduced a configuration option for the debugger variables viewers to limit the variables shown by the variables viewers depending on their size (in order to avoid overload situations on low power or low memory machines).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5899
diff
changeset
|
733 | be given (@@TOO_BIG_TO_SHOW@@). |
066e6c78a367
Introduced a configuration option for the debugger variables viewers to limit the variables shown by the variables viewers depending on their size (in order to avoid overload situations on low power or low memory machines).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5899
diff
changeset
|
734 | @type int |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
735 | """ |
5124
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
736 | self.__sendJsonCommand("RequestVariables", { |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
737 | "frameNumber": framenr, |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
738 | "scope": scope, |
5587
ea526b78ee6c
Started to fix code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
739 | "filters": filterList, |
5964
066e6c78a367
Introduced a configuration option for the debugger variables viewers to limit the variables shown by the variables viewers depending on their size (in order to avoid overload situations on low power or low memory machines).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5899
diff
changeset
|
740 | "maxSize": maxSize, |
5124
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
741 | }) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
742 | |
5964
066e6c78a367
Introduced a configuration option for the debugger variables viewers to limit the variables shown by the variables viewers depending on their size (in order to avoid overload situations on low power or low memory machines).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5899
diff
changeset
|
743 | def remoteClientVariable(self, scope, filterList, var, framenr=0, |
066e6c78a367
Introduced a configuration option for the debugger variables viewers to limit the variables shown by the variables viewers depending on their size (in order to avoid overload situations on low power or low memory machines).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5899
diff
changeset
|
744 | maxSize=0): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
745 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
746 | 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
|
747 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
748 | @param scope the scope of the variables (0 = local, 1 = global) |
5964
066e6c78a367
Introduced a configuration option for the debugger variables viewers to limit the variables shown by the variables viewers depending on their size (in order to avoid overload situations on low power or low memory machines).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5899
diff
changeset
|
749 | @type int |
066e6c78a367
Introduced a configuration option for the debugger variables viewers to limit the variables shown by the variables viewers depending on their size (in order to avoid overload situations on low power or low memory machines).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5899
diff
changeset
|
750 | @param filterList list of variable types to filter out |
066e6c78a367
Introduced a configuration option for the debugger variables viewers to limit the variables shown by the variables viewers depending on their size (in order to avoid overload situations on low power or low memory machines).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5899
diff
changeset
|
751 | @type list of int |
066e6c78a367
Introduced a configuration option for the debugger variables viewers to limit the variables shown by the variables viewers depending on their size (in order to avoid overload situations on low power or low memory machines).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5899
diff
changeset
|
752 | @param var list encoded name of variable to retrieve |
066e6c78a367
Introduced a configuration option for the debugger variables viewers to limit the variables shown by the variables viewers depending on their size (in order to avoid overload situations on low power or low memory machines).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5899
diff
changeset
|
753 | @type list of str |
066e6c78a367
Introduced a configuration option for the debugger variables viewers to limit the variables shown by the variables viewers depending on their size (in order to avoid overload situations on low power or low memory machines).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5899
diff
changeset
|
754 | @param framenr framenumber of the variables to retrieve |
066e6c78a367
Introduced a configuration option for the debugger variables viewers to limit the variables shown by the variables viewers depending on their size (in order to avoid overload situations on low power or low memory machines).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5899
diff
changeset
|
755 | @type int |
066e6c78a367
Introduced a configuration option for the debugger variables viewers to limit the variables shown by the variables viewers depending on their size (in order to avoid overload situations on low power or low memory machines).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5899
diff
changeset
|
756 | @param maxSize maximum size the formatted value of a variable will |
066e6c78a367
Introduced a configuration option for the debugger variables viewers to limit the variables shown by the variables viewers depending on their size (in order to avoid overload situations on low power or low memory machines).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5899
diff
changeset
|
757 | be shown. If it is bigger than that, a 'too big' indication will |
066e6c78a367
Introduced a configuration option for the debugger variables viewers to limit the variables shown by the variables viewers depending on their size (in order to avoid overload situations on low power or low memory machines).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5899
diff
changeset
|
758 | be given (@@TOO_BIG_TO_SHOW@@). |
066e6c78a367
Introduced a configuration option for the debugger variables viewers to limit the variables shown by the variables viewers depending on their size (in order to avoid overload situations on low power or low memory machines).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5899
diff
changeset
|
759 | @type int |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
760 | """ |
5124
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
761 | self.__sendJsonCommand("RequestVariable", { |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
762 | "variable": var, |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
763 | "frameNumber": framenr, |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
764 | "scope": scope, |
5587
ea526b78ee6c
Started to fix code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
765 | "filters": filterList, |
5964
066e6c78a367
Introduced a configuration option for the debugger variables viewers to limit the variables shown by the variables viewers depending on their size (in order to avoid overload situations on low power or low memory machines).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5899
diff
changeset
|
766 | "maxSize": maxSize, |
5124
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
767 | }) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
768 | |
5587
ea526b78ee6c
Started to fix code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
769 | def remoteClientSetFilter(self, scope, filterStr): |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
770 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
771 | Public method to set a variables filter list. |
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 | @param scope the scope of the variables (0 = local, 1 = global) |
5587
ea526b78ee6c
Started to fix code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
774 | @param filterStr regexp string for variable names to filter out |
ea526b78ee6c
Started to fix code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
775 | (string) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
776 | """ |
5124
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
777 | self.__sendJsonCommand("RequestSetFilter", { |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
778 | "scope": scope, |
5587
ea526b78ee6c
Started to fix code style issues detected by the extended style checker.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5389
diff
changeset
|
779 | "filter": filterStr, |
5124
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
780 | }) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
781 | |
2170
f4e0f6133ace
Started implementing the call trace functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
782 | def setCallTraceEnabled(self, on): |
f4e0f6133ace
Started implementing the call trace functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
783 | """ |
f4e0f6133ace
Started implementing the call trace functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
784 | 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
|
785 | |
f4e0f6133ace
Started implementing the call trace functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
786 | @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
|
787 | """ |
5124
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
788 | self.__sendJsonCommand("RequestCallTrace", { |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
789 | "enable": on, |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
790 | }) |
2170
f4e0f6133ace
Started implementing the call trace functionality.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1509
diff
changeset
|
791 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
792 | def remoteBanner(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
793 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
794 | 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
|
795 | """ |
5119
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
796 | self.__sendJsonCommand("RequestBanner", {}) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
797 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
798 | def remoteCapabilities(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
799 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
800 | Public slot to get the debug clients capabilities. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
801 | """ |
5119
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
802 | self.__sendJsonCommand("RequestCapabilities", {}) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
803 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
804 | def remoteCompletion(self, text): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
805 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
806 | 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
|
807 | from the remote client. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
808 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
809 | @param text the text to be completed (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
810 | """ |
5124
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
811 | self.__sendJsonCommand("RequestCompletion", { |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
812 | "text": text, |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
813 | }) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
814 | |
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
|
815 | 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
|
816 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
817 | Public method to prepare a new unittest run. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
818 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
819 | @param fn the filename to load (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
820 | @param tn the testname to load (string) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
821 | @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
|
822 | @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
|
823 | (list of strings) |
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
824 | @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
|
825 | (boolean) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
826 | @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
|
827 | filename (string) |
f53c03574697
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
828 | @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
|
829 | (boolean) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
830 | """ |
1171
1ffefa5ca226
Improved handling of debugger sending "<string>".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1166
diff
changeset
|
831 | self.__scriptName = os.path.abspath(fn) |
1ffefa5ca226
Improved handling of debugger sending "<string>".
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
1166
diff
changeset
|
832 | |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
833 | fn = self.translate(os.path.abspath(fn), False) |
5125
eb1b3e0577e4
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5124
diff
changeset
|
834 | self.__sendJsonCommand("RequestUTPrepare", { |
eb1b3e0577e4
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5124
diff
changeset
|
835 | "filename": fn, |
eb1b3e0577e4
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5124
diff
changeset
|
836 | "testname": tn, |
eb1b3e0577e4
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5124
diff
changeset
|
837 | "testfunctionname": tfn, |
eb1b3e0577e4
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5124
diff
changeset
|
838 | "failed": failed, |
eb1b3e0577e4
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5124
diff
changeset
|
839 | "coverage": cov, |
eb1b3e0577e4
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5124
diff
changeset
|
840 | "coveragefile": covname, |
eb1b3e0577e4
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5124
diff
changeset
|
841 | "coverageerase": coverase, |
eb1b3e0577e4
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5124
diff
changeset
|
842 | }) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
843 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
844 | def remoteUTRun(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
845 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
846 | Public method to start a unittest run. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
847 | """ |
5128
b6cbdba69967
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5125
diff
changeset
|
848 | self.__sendJsonCommand("RequestUTRun", {}) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
849 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
850 | def remoteUTStop(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
851 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
852 | Public method to stop a unittest run. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
853 | """ |
5128
b6cbdba69967
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5125
diff
changeset
|
854 | self.__sendJsonCommand("RequestUTStop", {}) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
855 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
856 | def __askForkTo(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
857 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
858 | 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
|
859 | """ |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
860 | 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
|
861 | self.tr("Child process")] |
564
b3d966393ba9
Did some code cleanup.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
537
diff
changeset
|
862 | res, ok = QInputDialog.getItem( |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
863 | None, |
3190
a9a94491c4fd
Changed the code to use QObject.tr() instead of QObject.trUtf8().
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
3160
diff
changeset
|
864 | 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
|
865 | self.tr("Select the fork branch to follow."), |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
866 | selections, |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
867 | 0, False) |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
868 | if not ok or res == selections[0]: |
5128
b6cbdba69967
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5125
diff
changeset
|
869 | self.__sendJsonCommand("ResponseForkTo", { |
b6cbdba69967
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5125
diff
changeset
|
870 | "target": "parent", |
b6cbdba69967
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5125
diff
changeset
|
871 | }) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
872 | else: |
5128
b6cbdba69967
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5125
diff
changeset
|
873 | self.__sendJsonCommand("ResponseForkTo", { |
b6cbdba69967
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5125
diff
changeset
|
874 | "target": "child", |
b6cbdba69967
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5125
diff
changeset
|
875 | }) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
876 | |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
877 | def __parseClientLine(self): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
878 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
879 | Private method to handle data from the client. |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
880 | """ |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
881 | while self.qsock and self.qsock.canReadLine(): |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
882 | qs = self.qsock.readLine() |
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
883 | 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
|
884 | line = self.codec.toUnicode(qs) |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
885 | else: |
12
1d8dd9706f46
First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
886 | line = bytes(qs).decode() |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
887 | |
12
1d8dd9706f46
First commit after changing to Python 3.1.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
0
diff
changeset
|
888 | ## print("Server: ", line) ##debug |
0
de9c2efb9d02
Started porting eric4 to Python3
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
889 | |
5128
b6cbdba69967
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5125
diff
changeset
|
890 | self.__handleJsonCommand(line) |
b6cbdba69967
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5125
diff
changeset
|
891 | continue |
5119
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
892 | |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
893 | def __handleJsonCommand(self, jsonStr): |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
894 | """ |
5129
e4ab234cf071
Cleaned up the modified code for the modernized debugger interface (Python3 variant).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5128
diff
changeset
|
895 | Private method to handle a command or response serialized as a |
e4ab234cf071
Cleaned up the modified code for the modernized debugger interface (Python3 variant).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5128
diff
changeset
|
896 | JSON string. |
e4ab234cf071
Cleaned up the modified code for the modernized debugger interface (Python3 variant).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5128
diff
changeset
|
897 | |
e4ab234cf071
Cleaned up the modified code for the modernized debugger interface (Python3 variant).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5128
diff
changeset
|
898 | @param jsonStr string containing the command or response received |
e4ab234cf071
Cleaned up the modified code for the modernized debugger interface (Python3 variant).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5128
diff
changeset
|
899 | from the debug backend |
e4ab234cf071
Cleaned up the modified code for the modernized debugger interface (Python3 variant).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5128
diff
changeset
|
900 | @type str |
5119
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
901 | """ |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
902 | import json |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
903 | |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
904 | try: |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
905 | commandDict = json.loads(jsonStr.strip()) |
5162
bbf2bb2d533c
Fixed an issue in the new debugger protocol because JSONDecodeError is defined for Python 3.5 and newer only.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5140
diff
changeset
|
906 | except (TypeError, ValueError) as err: |
5137
089401c122c5
Added reporting for JSON decoding errors in the debugger interfaces and updated translations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5136
diff
changeset
|
907 | E5MessageBox.critical( |
089401c122c5
Added reporting for JSON decoding errors in the debugger interfaces and updated translations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5136
diff
changeset
|
908 | None, |
089401c122c5
Added reporting for JSON decoding errors in the debugger interfaces and updated translations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5136
diff
changeset
|
909 | self.tr("Debug Protocol Error"), |
089401c122c5
Added reporting for JSON decoding errors in the debugger interfaces and updated translations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5136
diff
changeset
|
910 | self.tr("""<p>The response received from the debugger""" |
089401c122c5
Added reporting for JSON decoding errors in the debugger interfaces and updated translations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5136
diff
changeset
|
911 | """ backend could not be decoded. Please report""" |
089401c122c5
Added reporting for JSON decoding errors in the debugger interfaces and updated translations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5136
diff
changeset
|
912 | """ this issue with the received data to the""" |
089401c122c5
Added reporting for JSON decoding errors in the debugger interfaces and updated translations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5136
diff
changeset
|
913 | """ eric bugs email address.</p>""" |
089401c122c5
Added reporting for JSON decoding errors in the debugger interfaces and updated translations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5136
diff
changeset
|
914 | """<p>Error: {0}</p>""" |
089401c122c5
Added reporting for JSON decoding errors in the debugger interfaces and updated translations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5136
diff
changeset
|
915 | """<p>Data:<br/>{0}</p>""").format( |
089401c122c5
Added reporting for JSON decoding errors in the debugger interfaces and updated translations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5136
diff
changeset
|
916 | str(err), Utilities.html_encode(jsonStr.strip())), |
089401c122c5
Added reporting for JSON decoding errors in the debugger interfaces and updated translations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5136
diff
changeset
|
917 | E5MessageBox.StandardButtons( |
089401c122c5
Added reporting for JSON decoding errors in the debugger interfaces and updated translations.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5136
diff
changeset
|
918 | E5MessageBox.Ok)) |
5119
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
919 | return |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
920 | |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
921 | method = commandDict["method"] |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
922 | params = commandDict["params"] |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
923 | |
5128
b6cbdba69967
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5125
diff
changeset
|
924 | if method == "ClientOutput": |
b6cbdba69967
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5125
diff
changeset
|
925 | self.debugServer.signalClientOutput(params["text"]) |
b6cbdba69967
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5125
diff
changeset
|
926 | |
b6cbdba69967
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5125
diff
changeset
|
927 | elif method in ["ResponseLine", "ResponseStack"]: |
5269
0e96e1557c45
Fix for PyPy showing no local variables and suppress exception on old frames.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
5247
diff
changeset
|
928 | # Check if obsolet thread was clicked |
0e96e1557c45
Fix for PyPy showing no local variables and suppress exception on old frames.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
5247
diff
changeset
|
929 | if params["stack"] == []: |
0e96e1557c45
Fix for PyPy showing no local variables and suppress exception on old frames.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
5247
diff
changeset
|
930 | # Request updated list |
0e96e1557c45
Fix for PyPy showing no local variables and suppress exception on old frames.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
5247
diff
changeset
|
931 | self.remoteThreadList() |
0e96e1557c45
Fix for PyPy showing no local variables and suppress exception on old frames.
T.Rzepka <Tobias.Rzepka@gmail.com>
parents:
5247
diff
changeset
|
932 | return |
5124
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
933 | for s in params["stack"]: |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
934 | s[0] = self.translate(s[0], True) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
935 | cf = params["stack"][0] |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
936 | if self.__autoContinue: |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
937 | self.__autoContinue = False |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
938 | QTimer.singleShot(0, self.remoteContinue) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
939 | else: |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
940 | self.debugServer.signalClientLine( |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
941 | cf[0], int(cf[1]), |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
942 | method == "ResponseStack") |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
943 | self.debugServer.signalClientStack(params["stack"]) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
944 | |
5128
b6cbdba69967
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5125
diff
changeset
|
945 | elif method == "CallTrace": |
5124
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
946 | isCall = params["event"].lower() == "c" |
5140
01484c0afbc6
Worked on the last TODOs for the modernized debugger protocol.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5137
diff
changeset
|
947 | fromInfo = params["from"] |
01484c0afbc6
Worked on the last TODOs for the modernized debugger protocol.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5137
diff
changeset
|
948 | toInfo = params["to"] |
5124
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
949 | self.debugServer.signalClientCallTrace( |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
950 | isCall, |
5140
01484c0afbc6
Worked on the last TODOs for the modernized debugger protocol.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5137
diff
changeset
|
951 | fromInfo["filename"], str(fromInfo["linenumber"]), |
01484c0afbc6
Worked on the last TODOs for the modernized debugger protocol.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5137
diff
changeset
|
952 | fromInfo["codename"], |
01484c0afbc6
Worked on the last TODOs for the modernized debugger protocol.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5137
diff
changeset
|
953 | toInfo["filename"], str(toInfo["linenumber"]), |
01484c0afbc6
Worked on the last TODOs for the modernized debugger protocol.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5137
diff
changeset
|
954 | toInfo["codename"]) |
5124
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
955 | |
5128
b6cbdba69967
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5125
diff
changeset
|
956 | elif method == "ResponseVariables": |
5124
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
957 | self.debugServer.signalClientVariables( |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
958 | params["scope"], params["variables"]) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
959 | |
5128
b6cbdba69967
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5125
diff
changeset
|
960 | elif method == "ResponseVariable": |
5124
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
961 | self.debugServer.signalClientVariable( |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
962 | params["scope"], [params["variable"]] + params["variables"]) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
963 | |
5128
b6cbdba69967
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5125
diff
changeset
|
964 | elif method == "ResponseThreadList": |
5124
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
965 | self.debugServer.signalClientThreadList( |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
966 | params["currentID"], params["threadList"]) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
967 | |
5128
b6cbdba69967
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5125
diff
changeset
|
968 | elif method == "ResponseThreadSet": |
5124
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
969 | self.debugServer.signalClientThreadSet() |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
970 | |
5128
b6cbdba69967
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5125
diff
changeset
|
971 | elif method == "ResponseCapabilities": |
5119
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
972 | self.clientCapabilities = params["capabilities"] |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
973 | self.debugServer.signalClientCapabilities( |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
974 | params["capabilities"], params["clientType"]) |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
975 | |
5128
b6cbdba69967
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5125
diff
changeset
|
976 | elif method == "ResponseBanner": |
5119
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
977 | self.debugServer.signalClientBanner( |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
978 | params["version"], |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
979 | params["platform"], |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
980 | params["dbgclient"]) |
5120
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
981 | |
5128
b6cbdba69967
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5125
diff
changeset
|
982 | elif method == "ResponseOK": |
5120
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
983 | self.debugServer.signalClientStatement(False) |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
984 | |
5128
b6cbdba69967
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5125
diff
changeset
|
985 | elif method == "ResponseContinue": |
5120
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
986 | self.debugServer.signalClientStatement(True) |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
987 | |
5128
b6cbdba69967
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5125
diff
changeset
|
988 | elif method == "RequestRaw": |
5120
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
989 | self.debugServer.signalClientRawInput( |
c5189d404cc7
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5119
diff
changeset
|
990 | params["prompt"], params["echo"]) |
5124
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
991 | |
5128
b6cbdba69967
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5125
diff
changeset
|
992 | elif method == "ResponseBPConditionError": |
5131
889ed5ff7a68
Fixed a few issues in the modernized Python 3 debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5129
diff
changeset
|
993 | fn = self.translate(params["filename"], True) |
5124
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
994 | self.debugServer.signalClientBreakConditionError( |
5131
889ed5ff7a68
Fixed a few issues in the modernized Python 3 debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5129
diff
changeset
|
995 | fn, params["line"]) |
5124
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
996 | |
5128
b6cbdba69967
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5125
diff
changeset
|
997 | elif method == "ResponseClearBreakpoint": |
5131
889ed5ff7a68
Fixed a few issues in the modernized Python 3 debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5129
diff
changeset
|
998 | fn = self.translate(params["filename"], True) |
889ed5ff7a68
Fixed a few issues in the modernized Python 3 debugger.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5129
diff
changeset
|
999 | self.debugServer.signalClientClearBreak(fn, params["line"]) |
5124
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1000 | |
5128
b6cbdba69967
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5125
diff
changeset
|
1001 | elif method == "ResponseWatchConditionError": |
5124
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1002 | self.debugServer.signalClientWatchConditionError( |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1003 | params["condition"]) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1004 | |
5128
b6cbdba69967
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5125
diff
changeset
|
1005 | elif method == "ResponseClearWatch": |
5124
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1006 | self.debugServer.signalClientClearWatch(params["condition"]) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1007 | |
5128
b6cbdba69967
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5125
diff
changeset
|
1008 | elif method == "ResponseException": |
5124
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1009 | if params: |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1010 | exctype = params["type"] |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1011 | excmessage = params["message"] |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1012 | stack = params["stack"] |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1013 | if stack: |
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 | stackEntry[0] = self.translate(stackEntry[0], True) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1016 | if stack[0] and stack[0][0] == "<string>": |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1017 | for stackEntry in stack: |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1018 | if stackEntry[0] == "<string>": |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1019 | stackEntry[0] = self.__scriptName |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1020 | else: |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1021 | break |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1022 | else: |
5128
b6cbdba69967
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5125
diff
changeset
|
1023 | exctype = '' |
5124
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1024 | excmessage = '' |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1025 | stack = [] |
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 | self.debugServer.signalClientException( |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1028 | exctype, excmessage, stack) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1029 | |
5128
b6cbdba69967
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5125
diff
changeset
|
1030 | elif method == "ResponseSyntax": |
5124
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1031 | self.debugServer.signalClientSyntaxError( |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1032 | params["message"], self.translate(params["filename"], True), |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1033 | params["linenumber"], params["characternumber"]) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1034 | |
5128
b6cbdba69967
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5125
diff
changeset
|
1035 | elif method == "ResponseSignal": |
5124
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1036 | self.debugServer.signalClientSignal( |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1037 | params["message"], self.translate(params["filename"], True), |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1038 | params["linenumber"], params["function"], params["arguments"]) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1039 | |
5128
b6cbdba69967
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5125
diff
changeset
|
1040 | elif method == "ResponseExit": |
5124
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1041 | self.__scriptName = "" |
5136
b1dde2dc14bd
Improved the handling of debug client exits.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5131
diff
changeset
|
1042 | self.debugServer.signalClientExit( |
b1dde2dc14bd
Improved the handling of debug client exits.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5131
diff
changeset
|
1043 | params["status"], params["message"]) |
5124
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1044 | |
5128
b6cbdba69967
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5125
diff
changeset
|
1045 | elif method == "PassiveStartup": |
5124
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1046 | self.debugServer.passiveStartUp( |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1047 | self.translate(params["filename"], True), params["exceptions"]) |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1048 | |
5128
b6cbdba69967
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5125
diff
changeset
|
1049 | elif method == "ResponseCompletion": |
5124
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1050 | self.debugServer.signalClientCompletionList( |
1ba8ee313b57
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5120
diff
changeset
|
1051 | params["completions"], params["text"]) |
5125
eb1b3e0577e4
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5124
diff
changeset
|
1052 | |
5128
b6cbdba69967
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5125
diff
changeset
|
1053 | elif method == "ResponseUTPrepared": |
5125
eb1b3e0577e4
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5124
diff
changeset
|
1054 | self.debugServer.clientUtPrepared( |
eb1b3e0577e4
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5124
diff
changeset
|
1055 | params["count"], params["exception"], params["message"]) |
5128
b6cbdba69967
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5125
diff
changeset
|
1056 | |
b6cbdba69967
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5125
diff
changeset
|
1057 | elif method == "ResponseUTFinished": |
b6cbdba69967
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5125
diff
changeset
|
1058 | self.debugServer.clientUtFinished() |
b6cbdba69967
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5125
diff
changeset
|
1059 | |
b6cbdba69967
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5125
diff
changeset
|
1060 | elif method == "ResponseUTStartTest": |
b6cbdba69967
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5125
diff
changeset
|
1061 | self.debugServer.clientUtStartTest( |
b6cbdba69967
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5125
diff
changeset
|
1062 | params["testname"], params["description"]) |
b6cbdba69967
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5125
diff
changeset
|
1063 | |
b6cbdba69967
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5125
diff
changeset
|
1064 | elif method == "ResponseUTStopTest": |
b6cbdba69967
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5125
diff
changeset
|
1065 | self.debugServer.clientUtStopTest() |
b6cbdba69967
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5125
diff
changeset
|
1066 | |
b6cbdba69967
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5125
diff
changeset
|
1067 | elif method == "ResponseUTTestFailed": |
b6cbdba69967
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5125
diff
changeset
|
1068 | self.debugServer.clientUtTestFailed( |
b6cbdba69967
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5125
diff
changeset
|
1069 | params["testname"], params["traceback"], params["id"]) |
b6cbdba69967
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5125
diff
changeset
|
1070 | |
b6cbdba69967
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5125
diff
changeset
|
1071 | elif method == "ResponseUTTestErrored": |
b6cbdba69967
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5125
diff
changeset
|
1072 | self.debugServer.clientUtTestErrored( |
b6cbdba69967
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5125
diff
changeset
|
1073 | params["testname"], params["traceback"], params["id"]) |
b6cbdba69967
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5125
diff
changeset
|
1074 | |
b6cbdba69967
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5125
diff
changeset
|
1075 | elif method == "ResponseUTTestSkipped": |
b6cbdba69967
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5125
diff
changeset
|
1076 | self.debugServer.clientUtTestSkipped( |
b6cbdba69967
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5125
diff
changeset
|
1077 | params["testname"], params["reason"], params["id"]) |
b6cbdba69967
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5125
diff
changeset
|
1078 | |
b6cbdba69967
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5125
diff
changeset
|
1079 | elif method == "ResponseUTTestFailedExpected": |
b6cbdba69967
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5125
diff
changeset
|
1080 | self.debugServer.clientUtTestFailedExpected( |
b6cbdba69967
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5125
diff
changeset
|
1081 | params["testname"], params["traceback"], params["id"]) |
b6cbdba69967
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5125
diff
changeset
|
1082 | |
b6cbdba69967
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5125
diff
changeset
|
1083 | elif method == "ResponseUTTestSucceededUnexpected": |
b6cbdba69967
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5125
diff
changeset
|
1084 | self.debugServer.clientUtTestSucceededUnexpected( |
b6cbdba69967
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5125
diff
changeset
|
1085 | params["testname"], params["id"]) |
b6cbdba69967
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5125
diff
changeset
|
1086 | |
b6cbdba69967
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5125
diff
changeset
|
1087 | elif method == "RequestForkTo": |
b6cbdba69967
Continued modernizing the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5125
diff
changeset
|
1088 | self.__askForkTo() |
5119
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
1089 | |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
1090 | def __sendJsonCommand(self, command, params): |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
1091 | """ |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
1092 | 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
|
1093 | |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
1094 | @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
|
1095 | @type str |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
1096 | @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
|
1097 | @type dict |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
1098 | """ |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
1099 | import json |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
1100 | |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
1101 | commandDict = { |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
1102 | "jsonrpc": "2.0", |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
1103 | "method": command, |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
1104 | "params": params, |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
1105 | } |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
1106 | cmd = json.dumps(commandDict) + '\n' |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
1107 | 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
|
1108 | 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
|
1109 | else: |
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
1110 | self.queue.append(cmd) |
5850
7fae79975686
Unified the Python2 and Python3 debugger interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5848
diff
changeset
|
1111 | |
7fae79975686
Unified the Python2 and Python3 debugger interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5848
diff
changeset
|
1112 | |
7fae79975686
Unified the Python2 and Python3 debugger interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5848
diff
changeset
|
1113 | def createDebuggerInterfacePython2(debugServer, passive): |
7fae79975686
Unified the Python2 and Python3 debugger interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5848
diff
changeset
|
1114 | """ |
7fae79975686
Unified the Python2 and Python3 debugger interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5848
diff
changeset
|
1115 | Module function to create a debugger interface instance. |
7fae79975686
Unified the Python2 and Python3 debugger interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5848
diff
changeset
|
1116 | |
7fae79975686
Unified the Python2 and Python3 debugger interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5848
diff
changeset
|
1117 | |
7fae79975686
Unified the Python2 and Python3 debugger interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5848
diff
changeset
|
1118 | @param debugServer reference to the debug server |
7fae79975686
Unified the Python2 and Python3 debugger interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5848
diff
changeset
|
1119 | @type DebugServer |
7fae79975686
Unified the Python2 and Python3 debugger interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5848
diff
changeset
|
1120 | @param passive flag indicating passive connection mode |
7fae79975686
Unified the Python2 and Python3 debugger interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5848
diff
changeset
|
1121 | @type bool |
7fae79975686
Unified the Python2 and Python3 debugger interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5848
diff
changeset
|
1122 | @return instantiated debugger interface |
7fae79975686
Unified the Python2 and Python3 debugger interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5848
diff
changeset
|
1123 | @rtype DebuggerInterfacePython |
7fae79975686
Unified the Python2 and Python3 debugger interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5848
diff
changeset
|
1124 | """ |
7fae79975686
Unified the Python2 and Python3 debugger interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5848
diff
changeset
|
1125 | return DebuggerInterfacePython(debugServer, passive, "Python2") |
5119
80bd41498eef
Started with the modernization of the debugger interface.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5059
diff
changeset
|
1126 | |
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
|
1127 | |
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
|
1128 | 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
|
1129 | """ |
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
|
1130 | 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
|
1131 | |
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
|
1132 | |
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
|
1133 | @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
|
1134 | @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
|
1135 | @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
|
1136 | @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
|
1137 | @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
|
1138 | @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
|
1139 | """ |
5850
7fae79975686
Unified the Python2 and Python3 debugger interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5848
diff
changeset
|
1140 | return DebuggerInterfacePython(debugServer, passive, "Python3") |
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
|
1141 | |
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
|
1142 | |
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
|
1143 | 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
|
1144 | """ |
5850
7fae79975686
Unified the Python2 and Python3 debugger interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5848
diff
changeset
|
1145 | Module function to get characterizing data for the supported debugger |
7fae79975686
Unified the Python2 and Python3 debugger interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5848
diff
changeset
|
1146 | interfaces. |
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
|
1147 | |
5850
7fae79975686
Unified the Python2 and Python3 debugger interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5848
diff
changeset
|
1148 | @return list of tuples containing the client type, the client capabilities, |
7fae79975686
Unified the Python2 and Python3 debugger interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5848
diff
changeset
|
1149 | the client file type associations and a reference to the creation |
7fae79975686
Unified the Python2 and Python3 debugger interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5848
diff
changeset
|
1150 | function |
7fae79975686
Unified the Python2 and Python3 debugger interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5848
diff
changeset
|
1151 | @rtype list of tuple of (str, int, list of str, function) |
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
|
1152 | """ |
5850
7fae79975686
Unified the Python2 and Python3 debugger interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5848
diff
changeset
|
1153 | py2Exts = [] |
7fae79975686
Unified the Python2 and Python3 debugger interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5848
diff
changeset
|
1154 | for ext in Preferences.getDebugger("PythonExtensions").split(): |
7fae79975686
Unified the Python2 and Python3 debugger interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5848
diff
changeset
|
1155 | if ext.startswith("."): |
7fae79975686
Unified the Python2 and Python3 debugger interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5848
diff
changeset
|
1156 | py2Exts.append(ext) |
7fae79975686
Unified the Python2 and Python3 debugger interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5848
diff
changeset
|
1157 | else: |
7fae79975686
Unified the Python2 and Python3 debugger interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5848
diff
changeset
|
1158 | py2Exts.append(".{0}".format(ext)) |
7fae79975686
Unified the Python2 and Python3 debugger interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5848
diff
changeset
|
1159 | |
7fae79975686
Unified the Python2 and Python3 debugger interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5848
diff
changeset
|
1160 | py3Exts = [] |
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
|
1161 | 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
|
1162 | if ext.startswith("."): |
5850
7fae79975686
Unified the Python2 and Python3 debugger interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5848
diff
changeset
|
1163 | py3Exts.append(ext) |
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
|
1164 | else: |
5850
7fae79975686
Unified the Python2 and Python3 debugger interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5848
diff
changeset
|
1165 | py3Exts.append(".{0}".format(ext)) |
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
|
1166 | |
5850
7fae79975686
Unified the Python2 and Python3 debugger interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5848
diff
changeset
|
1167 | registryData = [] |
7fae79975686
Unified the Python2 and Python3 debugger interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5848
diff
changeset
|
1168 | if py2Exts and Preferences.getDebugger("PythonInterpreter"): |
7fae79975686
Unified the Python2 and Python3 debugger interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5848
diff
changeset
|
1169 | registryData.append( |
7fae79975686
Unified the Python2 and Python3 debugger interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5848
diff
changeset
|
1170 | ("Python2", ClientDefaultCapabilities, py2Exts, |
7fae79975686
Unified the Python2 and Python3 debugger interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5848
diff
changeset
|
1171 | createDebuggerInterfacePython2) |
7fae79975686
Unified the Python2 and Python3 debugger interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5848
diff
changeset
|
1172 | ) |
7fae79975686
Unified the Python2 and Python3 debugger interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5848
diff
changeset
|
1173 | |
7fae79975686
Unified the Python2 and Python3 debugger interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5848
diff
changeset
|
1174 | if py3Exts and Preferences.getDebugger("Python3Interpreter"): |
7fae79975686
Unified the Python2 and Python3 debugger interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5848
diff
changeset
|
1175 | registryData.append( |
7fae79975686
Unified the Python2 and Python3 debugger interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5848
diff
changeset
|
1176 | ("Python3", ClientDefaultCapabilities, py3Exts, |
7fae79975686
Unified the Python2 and Python3 debugger interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5848
diff
changeset
|
1177 | createDebuggerInterfacePython3) |
7fae79975686
Unified the Python2 and Python3 debugger interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5848
diff
changeset
|
1178 | ) |
7fae79975686
Unified the Python2 and Python3 debugger interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5848
diff
changeset
|
1179 | |
7fae79975686
Unified the Python2 and Python3 debugger interfaces.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
5848
diff
changeset
|
1180 | return registryData |