Debugger: fixed a few bugs introduced by the multi process debugger changes.

Sun, 27 Dec 2020 16:44:10 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sun, 27 Dec 2020 16:44:10 +0100
changeset 7915
e68f5c568aee
parent 7914
999f07b00a49
child 7916
ae3d890b66d6

Debugger: fixed a few bugs introduced by the multi process debugger changes.

eric6/APIs/Python3/eric6.api file | annotate | diff | comparison | revisions
eric6/DebugClients/Python/DebugClientBase.py file | annotate | diff | comparison | revisions
eric6/Debugger/DebugServer.py file | annotate | diff | comparison | revisions
eric6/Debugger/DebugViewer.py file | annotate | diff | comparison | revisions
eric6/Debugger/DebuggerInterfacePython.py file | annotate | diff | comparison | revisions
eric6/Documentation/Help/source.qch file | annotate | diff | comparison | revisions
eric6/Documentation/Help/source.qhp file | annotate | diff | comparison | revisions
eric6/Documentation/Source/eric6.Debugger.DebugServer.html file | annotate | diff | comparison | revisions
eric6/Documentation/Source/eric6.Debugger.DebugViewer.html file | annotate | diff | comparison | revisions
eric6/Documentation/Source/eric6.Debugger.VariablesViewer.html file | annotate | diff | comparison | revisions
eric6/i18n/eric6_cs.ts file | annotate | diff | comparison | revisions
eric6/i18n/eric6_de.qm file | annotate | diff | comparison | revisions
eric6/i18n/eric6_de.ts file | annotate | diff | comparison | revisions
eric6/i18n/eric6_empty.ts file | annotate | diff | comparison | revisions
eric6/i18n/eric6_en.ts file | annotate | diff | comparison | revisions
eric6/i18n/eric6_es.ts file | annotate | diff | comparison | revisions
eric6/i18n/eric6_fr.ts file | annotate | diff | comparison | revisions
eric6/i18n/eric6_it.ts file | annotate | diff | comparison | revisions
eric6/i18n/eric6_pt.ts file | annotate | diff | comparison | revisions
eric6/i18n/eric6_ru.ts file | annotate | diff | comparison | revisions
eric6/i18n/eric6_tr.ts file | annotate | diff | comparison | revisions
eric6/i18n/eric6_zh_CN.ts file | annotate | diff | comparison | revisions
eric6/icons/oxygen/disassembly.png file | annotate | diff | comparison | revisions
--- a/eric6/APIs/Python3/eric6.api	Sat Dec 26 22:49:27 2020 +0100
+++ b/eric6/APIs/Python3/eric6.api	Sun Dec 27 16:44:10 2020 +0100
@@ -693,6 +693,7 @@
 eric6.Debugger.DebugViewer.DebugViewer.handleResetUI?4()
 eric6.Debugger.DebugViewer.DebugViewer.initCallStackViewer?4(projectMode)
 eric6.Debugger.DebugViewer.DebugViewer.isCallTraceEnabled?4()
+eric6.Debugger.DebugViewer.DebugViewer.isOnlyDebugger?4()
 eric6.Debugger.DebugViewer.DebugViewer.preferencesChanged?7
 eric6.Debugger.DebugViewer.DebugViewer.setCallTraceToProjectMode?4(enabled)
 eric6.Debugger.DebugViewer.DebugViewer.setCurrentWidget?4(widget)
@@ -845,7 +846,6 @@
 eric6.Debugger.VariablesViewer.VariableItem.arrayTypes?7
 eric6.Debugger.VariablesViewer.VariableItem.noOfItemsStr?7
 eric6.Debugger.VariablesViewer.VariableItem.nonExpandableTypes?7
-eric6.Debugger.VariablesViewer.VariableItem.populated?4()
 eric6.Debugger.VariablesViewer.VariableItem.rx_nonprintable?7
 eric6.Debugger.VariablesViewer.VariableItem.unsized?7
 eric6.Debugger.VariablesViewer.VariableItem?1(parent, dvar, dtype, dvalue)
--- a/eric6/DebugClients/Python/DebugClientBase.py	Sat Dec 26 22:49:27 2020 +0100
+++ b/eric6/DebugClients/Python/DebugClientBase.py	Sun Dec 27 16:44:10 2020 +0100
@@ -448,7 +448,8 @@
             code = self.__compileFileSource(self.running)
             if code:
                 sys.setprofile(self.callTraceEnabled)
-                self.mainThread.run(code, self.debugMod.__dict__, debug=True)
+                self.mainThread.run(code, self.debugMod.__dict__, debug=True,
+                                    closeSession=False)
 
         elif method == "RequestRun":
             self.disassembly = None
--- a/eric6/Debugger/DebugServer.py	Sat Dec 26 22:49:27 2020 +0100
+++ b/eric6/Debugger/DebugServer.py	Sun Dec 27 16:44:10 2020 +0100
@@ -86,9 +86,9 @@
         the client banner data was received
     @signal clientCapabilities(capabilities, cltype, venvname) emitted after
         the clients capabilities were received
-    @signal clientCompletionList(completionList, text, debuggerId) emitted
-        after the client the commandline completion list and the reworked
-        search string was received from the client
+    @signal clientCompletionList(completionList, text) emitted after the
+        commandline completion list and the reworked search string was
+        received from the client
     @signal passiveDebugStarted(str, bool) emitted after the debug client has
         connected in passive debug mode
     @signal clientGone(bool) emitted if the client went away (planned or
@@ -147,7 +147,7 @@
     clientRawInput = pyqtSignal(str, bool, str)
     clientBanner = pyqtSignal(str, str, str)
     clientCapabilities = pyqtSignal(int, str, str)
-    clientCompletionList = pyqtSignal(list, str, str)
+    clientCompletionList = pyqtSignal(list, str)
     clientInterpreterChanged = pyqtSignal(str)
     clientDebuggerId = pyqtSignal(str)
     utDiscovered = pyqtSignal(list, str, str)
@@ -1501,7 +1501,7 @@
         @param text the text to be completed
         @type str
         """
-        self.debuggerInterface.remoteCompletion(text)
+        self.debuggerInterface.remoteCompletion(debuggerId, text)
     
     def remoteUTDiscover(self, clientType, forProject, venvName, syspath,
                          workdir, discoveryStart):
--- a/eric6/Debugger/DebugViewer.py	Sat Dec 26 22:49:27 2020 +0100
+++ b/eric6/Debugger/DebugViewer.py	Sun Dec 27 16:44:10 2020 +0100
@@ -131,7 +131,9 @@
         index = self.__tabWidget.addTab(
             self.glvWidget,
             UI.PixmapCache.getIcon("globalVariables"), '')
-        self.__tabWidget.setTabToolTip(index, self.globalsViewer.windowTitle())
+        self.__tabWidget.setTabToolTip(
+            index,
+            self.tr("Shows the list of global variables and their values."))
         
         self.setGlobalsFilterButton.clicked.connect(
             self.setGlobalsFilter)
@@ -185,7 +187,9 @@
         index = self.__tabWidget.addTab(
             self.lvWidget,
             UI.PixmapCache.getIcon("localVariables"), '')
-        self.__tabWidget.setTabToolTip(index, self.localsViewer.windowTitle())
+        self.__tabWidget.setTabToolTip(
+            index,
+            self.tr("Shows the list of local variables and their values."))
         
         self.sourceButton.clicked.connect(self.__showSource)
         self.stackComboBox.currentIndexChanged[int].connect(
@@ -204,7 +208,8 @@
             self.callStackViewer,
             UI.PixmapCache.getIcon("callStack"), "")
         self.__tabWidget.setTabToolTip(
-            index, self.callStackViewer.windowTitle())
+            index,
+            self.tr("Shows the current call stack."))
         self.callStackViewer.sourceFile.connect(self.sourceFile)
         self.callStackViewer.frameSelected.connect(
             self.__callStackFrameSelected)
@@ -216,7 +221,8 @@
             self.callTraceViewer,
             UI.PixmapCache.getIcon("callTrace"), "")
         self.__tabWidget.setTabToolTip(
-            index, self.callTraceViewer.windowTitle())
+            index,
+            self.tr("Shows a trace of the program flow."))
         self.callTraceViewer.sourceFile.connect(self.sourceFile)
         
         from .BreakPointViewer import BreakPointViewer
@@ -227,7 +233,8 @@
             self.breakpointViewer,
             UI.PixmapCache.getIcon("breakpoints"), '')
         self.__tabWidget.setTabToolTip(
-            index, self.breakpointViewer.windowTitle())
+            index,
+            self.tr("Shows a list of defined breakpoints."))
         self.breakpointViewer.sourceFile.connect(self.sourceFile)
         
         from .WatchPointViewer import WatchPointViewer
@@ -238,7 +245,8 @@
             self.watchpointViewer,
             UI.PixmapCache.getIcon("watchpoints"), '')
         self.__tabWidget.setTabToolTip(
-            index, self.watchpointViewer.windowTitle())
+            index,
+            self.tr("Shows a list of defined watchpoints."))
         
         from .ExceptionLogger import ExceptionLogger
         # add the exception logger
@@ -247,7 +255,8 @@
             self.exceptionLogger,
             UI.PixmapCache.getIcon("exceptions"), '')
         self.__tabWidget.setTabToolTip(
-            index, self.exceptionLogger.windowTitle())
+            index,
+            self.tr("Shows a list of raised exceptions."))
         
         from UI.PythonDisViewer import PythonDisViewer, PythonDisViewerModes
         # add the Python disassembly viewer
@@ -257,7 +266,8 @@
             self.disassemblyViewer,
             UI.PixmapCache.getIcon("disassembly"), '')
         self.__tabWidget.setTabToolTip(
-            index, self.disassemblyViewer.windowTitle())
+            index,
+            self.tr("Shows a code disassembly in case of an exception."))
         
         self.__tabWidget.setCurrentWidget(self.glvWidget)
         
@@ -484,17 +494,19 @@
         @param debuggerId ID of the debugger backend
         @type str
         """
-        if debuggerId == self.getSelectedDebuggerId():
-            # the current client has exited
-            self.globalsViewer.handleResetUI()
-            self.localsViewer.handleResetUI()
-            self.setGlobalsFilter()
-            self.setLocalsFilter()
-            self.sourceButton.setEnabled(False)
-            self.currentStack = None
-            self.stackComboBox.clear()
-            self.__threadList.clear()
-        self.__removeDebugger(debuggerId)
+        if not self.isOnlyDebugger():
+            if debuggerId == self.getSelectedDebuggerId():
+                # the current client has exited
+                self.globalsViewer.handleResetUI()
+                self.localsViewer.handleResetUI()
+                self.setGlobalsFilter()
+                self.setLocalsFilter()
+                self.sourceButton.setEnabled(False)
+                self.currentStack = None
+                self.stackComboBox.clear()
+                self.__threadList.clear()
+            
+            self.__removeDebugger(debuggerId)
     
     def __clientSyntaxError(self, message, filename, lineNo, characterNo,
                             debuggerId):
@@ -772,6 +784,15 @@
         if foundItems:
             self.__debuggersList.setCurrentItem(foundItems[0])
     
+    def isOnlyDebugger(self):
+        """
+        Public method to test, if only one debugger is connected.
+        
+        @return flag indicating that only one debugger is connected
+        @rtype bool
+        """
+        return self.__debuggersList.topLevelItemCount() == 1
+    
     def getSelectedDebuggerId(self):
         """
         Public method to get the currently selected debugger ID.
--- a/eric6/Debugger/DebuggerInterfacePython.py	Sat Dec 26 22:49:27 2020 +0100
+++ b/eric6/Debugger/DebuggerInterfacePython.py	Sun Dec 27 16:44:10 2020 +0100
@@ -592,6 +592,7 @@
                 # ignore this
                 pass
             self.__autoContinued.clear()
+            self.debugServer.startClient()
     
     def getDebuggerIds(self):
         """
Binary file eric6/Documentation/Help/source.qch has changed
--- a/eric6/Documentation/Help/source.qhp	Sat Dec 26 22:49:27 2020 +0100
+++ b/eric6/Documentation/Help/source.qhp	Sun Dec 27 16:44:10 2020 +0100
@@ -3456,6 +3456,7 @@
       <keyword name="DebugViewer.handleResetUI" id="DebugViewer.handleResetUI" ref="eric6.Debugger.DebugViewer.html#DebugViewer.handleResetUI" />
       <keyword name="DebugViewer.initCallStackViewer" id="DebugViewer.initCallStackViewer" ref="eric6.Debugger.DebugViewer.html#DebugViewer.initCallStackViewer" />
       <keyword name="DebugViewer.isCallTraceEnabled" id="DebugViewer.isCallTraceEnabled" ref="eric6.Debugger.DebugViewer.html#DebugViewer.isCallTraceEnabled" />
+      <keyword name="DebugViewer.isOnlyDebugger" id="DebugViewer.isOnlyDebugger" ref="eric6.Debugger.DebugViewer.html#DebugViewer.isOnlyDebugger" />
       <keyword name="DebugViewer.setCallTraceToProjectMode" id="DebugViewer.setCallTraceToProjectMode" ref="eric6.Debugger.DebugViewer.html#DebugViewer.setCallTraceToProjectMode" />
       <keyword name="DebugViewer.setCurrentWidget" id="DebugViewer.setCurrentWidget" ref="eric6.Debugger.DebugViewer.html#DebugViewer.setCurrentWidget" />
       <keyword name="DebugViewer.setDebugger" id="DebugViewer.setDebugger" ref="eric6.Debugger.DebugViewer.html#DebugViewer.setDebugger" />
@@ -15602,7 +15603,6 @@
       <keyword name="VariableItem.__getType" id="VariableItem.__getType" ref="eric6.Debugger.VariablesViewer.html#VariableItem.__getType" />
       <keyword name="VariableItem.__getValue" id="VariableItem.__getValue" ref="eric6.Debugger.VariablesViewer.html#VariableItem.__getValue" />
       <keyword name="VariableItem.absolutCount" id="VariableItem.absolutCount" ref="eric6.Debugger.VariablesViewer.html#VariableItem.absolutCount" />
-      <keyword name="VariableItem.populated" id="VariableItem.populated" ref="eric6.Debugger.VariablesViewer.html#VariableItem.populated" />
       <keyword name="VariablesFilterDialog" id="VariablesFilterDialog" ref="eric6.Debugger.VariablesFilterDialog.html#VariablesFilterDialog" />
       <keyword name="VariablesFilterDialog (Constructor)" id="VariablesFilterDialog (Constructor)" ref="eric6.Debugger.VariablesFilterDialog.html#VariablesFilterDialog.__init__" />
       <keyword name="VariablesFilterDialog (Module)" id="VariablesFilterDialog (Module)" ref="eric6.Debugger.VariablesFilterDialog.html" />
--- a/eric6/Documentation/Source/eric6.Debugger.DebugServer.html	Sat Dec 26 22:49:27 2020 +0100
+++ b/eric6/Documentation/Source/eric6.Debugger.DebugServer.html	Sun Dec 27 16:44:10 2020 +0100
@@ -91,11 +91,11 @@
 emitted after the debug
         client has decided to clear a temporary watch expression
 </dd>
-<dt>clientCompletionList(completionList, text, debuggerId)</dt>
-<dd>
-emitted
-        after the client the commandline completion list and the reworked
-        search string was received from the client
+<dt>clientCompletionList(completionList, text)</dt>
+<dd>
+emitted after the
+        commandline completion list and the reworked search string was
+        received from the client
 </dd>
 <dt>clientDebuggerId(debuggerId)</dt>
 <dd>
--- a/eric6/Documentation/Source/eric6.Debugger.DebugViewer.html	Sat Dec 26 22:49:27 2020 +0100
+++ b/eric6/Documentation/Source/eric6.Debugger.DebugViewer.html	Sun Dec 27 16:44:10 2020 +0100
@@ -197,6 +197,10 @@
 <td>Public method to get the state of the call trace function.</td>
 </tr>
 <tr>
+<td><a href="#DebugViewer.isOnlyDebugger">isOnlyDebugger</a></td>
+<td>Public method to test, if only one debugger is connected.</td>
+</tr>
+<tr>
 <td><a href="#DebugViewer.setCallTraceToProjectMode">setCallTraceToProjectMode</a></td>
 <td>Public slot to set the call trace viewer to project mode.</td>
 </tr>
@@ -648,6 +652,25 @@
 bool
 </dd>
 </dl>
+<a NAME="DebugViewer.isOnlyDebugger" ID="DebugViewer.isOnlyDebugger"></a>
+<h4>DebugViewer.isOnlyDebugger</h4>
+<b>isOnlyDebugger</b>(<i></i>)
+
+<p>
+        Public method to test, if only one debugger is connected.
+</p>
+<dl>
+<dt>Returns:</dt>
+<dd>
+flag indicating that only one debugger is connected
+</dd>
+</dl>
+<dl>
+<dt>Return Type:</dt>
+<dd>
+bool
+</dd>
+</dl>
 <a NAME="DebugViewer.setCallTraceToProjectMode" ID="DebugViewer.setCallTraceToProjectMode"></a>
 <h4>DebugViewer.setCallTraceToProjectMode</h4>
 <b>setCallTraceToProjectMode</b>(<i>enabled</i>)
--- a/eric6/Documentation/Source/eric6.Debugger.VariablesViewer.html	Sat Dec 26 22:49:27 2020 +0100
+++ b/eric6/Documentation/Source/eric6.Debugger.VariablesViewer.html	Sun Dec 27 16:44:10 2020 +0100
@@ -100,10 +100,6 @@
 <td><a href="#VariableItem.absolutCount">absolutCount</a></td>
 <td>Public property to get the total number of children.</td>
 </tr>
-<tr>
-<td><a href="#VariableItem.populated">populated</a></td>
-<td>Public property returning a flag indicating if item is fully populated.</td>
-</tr>
 </table>
 <h3>Static Methods</h3>
 
@@ -209,25 +205,6 @@
 int
 </dd>
 </dl>
-<a NAME="VariableItem.populated" ID="VariableItem.populated"></a>
-<h4>VariableItem.populated</h4>
-<b>populated</b>(<i></i>)
-
-<p>
-        Public property returning a flag indicating if item is fully populated.
-</p>
-<dl>
-<dt>Returns:</dt>
-<dd>
-item is fully populated
-</dd>
-</dl>
-<dl>
-<dt>Return Type:</dt>
-<dd>
-bool
-</dd>
-</dl>
 <div align="right"><a href="#top">Up</a></div>
 <hr />
 <hr />
--- a/eric6/i18n/eric6_cs.ts	Sat Dec 26 22:49:27 2020 +0100
+++ b/eric6/i18n/eric6_cs.ts	Sun Dec 27 16:44:10 2020 +0100
@@ -7465,27 +7465,27 @@
 <context>
     <name>DebugViewer</name>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="170"/>
+        <location filename="../Debugger/DebugViewer.py" line="172"/>
         <source>Enter regular expression patterns separated by &apos;;&apos; to define variable filters. </source>
         <translation>Zadání vzorků regulárních výrazů oddělených &apos;;&apos; pro definování proměnných filtrů.</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="174"/>
+        <location filename="../Debugger/DebugViewer.py" line="176"/>
         <source>Enter regular expression patterns separated by &apos;;&apos; to define variable filters. All variables and class attributes matched by one of the expressions are not shown in the list above.</source>
         <translation>Zadání vzorků regulárních výrazů oddělených &apos;;&apos; pro definování proměnných filtrů. Proměnné a atributy tříd nalezené jedním z uvedených výrazů, nejsou zobrazovány v seznamu nahoře.</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="180"/>
+        <location filename="../Debugger/DebugViewer.py" line="182"/>
         <source>Set</source>
         <translation>Množina</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="155"/>
+        <location filename="../Debugger/DebugViewer.py" line="157"/>
         <source>Source</source>
         <translation>Zdroj</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="268"/>
+        <location filename="../Debugger/DebugViewer.py" line="278"/>
         <source>Threads:</source>
         <translation>Thready:</translation>
     </message>
@@ -7495,22 +7495,22 @@
         <translation></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="270"/>
+        <location filename="../Debugger/DebugViewer.py" line="280"/>
         <source>Name</source>
         <translation>Jméno</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="270"/>
+        <location filename="../Debugger/DebugViewer.py" line="280"/>
         <source>State</source>
         <translation>Stav</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="825"/>
+        <location filename="../Debugger/DebugViewer.py" line="846"/>
         <source>waiting at breakpoint</source>
         <translation>čekající na breakpoint</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="829"/>
+        <location filename="../Debugger/DebugViewer.py" line="850"/>
         <source>running</source>
         <translation>běžící</translation>
     </message>
@@ -7520,20 +7520,60 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="827"/>
+        <location filename="../Debugger/DebugViewer.py" line="848"/>
         <source>waiting at exception</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="831"/>
+        <location filename="../Debugger/DebugViewer.py" line="852"/>
         <source>unknown state ({0})</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="751"/>
+        <location filename="../Debugger/DebugViewer.py" line="763"/>
         <source>&lt;p&gt;Debugger with ID &lt;b&gt;{0}&lt;/b&gt; has been connected.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="190"/>
+        <source>Shows the list of local variables and their values.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="210"/>
+        <source>Shows the current call stack.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="223"/>
+        <source>Shows a trace of the program flow.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="235"/>
+        <source>Shows a list of defined breakpoints.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="247"/>
+        <source>Shows a list of defined watchpoints.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="257"/>
+        <source>Shows a list of raised exceptions.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="268"/>
+        <source>Shows a code disassembly in case of an exception.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="134"/>
+        <source>Shows the list of global variables and their values.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>DebuggerGeneralPage</name>
@@ -8016,12 +8056,12 @@
         <translation type="unfinished">&lt;p&gt;Debugovací backend nelze spustit.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebuggerInterfacePython.py" line="1344"/>
+        <location filename="../Debugger/DebuggerInterfacePython.py" line="1345"/>
         <source>Debug Protocol Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebuggerInterfacePython.py" line="1344"/>
+        <location filename="../Debugger/DebuggerInterfacePython.py" line="1345"/>
         <source>&lt;p&gt;The response received from the debugger backend could not be decoded. Please report this issue with the received data to the eric bugs email address.&lt;/p&gt;&lt;p&gt;Error: {0}&lt;/p&gt;&lt;p&gt;Data:&lt;br/&gt;{1}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -80740,7 +80780,7 @@
 <context>
     <name>VariableItem</name>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="210"/>
+        <location filename="../Debugger/VariablesViewer.py" line="214"/>
         <source>&lt;double click to show value&gt;</source>
         <translation>&lt;dvojitý klik pro zobrazení hodnoty&gt;</translation>
     </message>
@@ -80822,22 +80862,22 @@
 <context>
     <name>VariablesModel</name>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="281"/>
+        <location filename="../Debugger/VariablesViewer.py" line="275"/>
         <source>Globals</source>
         <translation type="unfinished">Globální</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="283"/>
+        <location filename="../Debugger/VariablesViewer.py" line="277"/>
         <source>Locals</source>
         <translation type="unfinished">Lokální</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="285"/>
+        <location filename="../Debugger/VariablesViewer.py" line="279"/>
         <source>Type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="285"/>
+        <location filename="../Debugger/VariablesViewer.py" line="279"/>
         <source>Value</source>
         <translation type="unfinished">Hodnota</translation>
     </message>
@@ -80845,7 +80885,7 @@
 <context>
     <name>VariablesViewer</name>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="959"/>
+        <location filename="../Debugger/VariablesViewer.py" line="958"/>
         <source>Global Variables</source>
         <translation>Globální proměnné</translation>
     </message>
@@ -80865,12 +80905,12 @@
         <translation type="obsolete">Typ</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="960"/>
+        <location filename="../Debugger/VariablesViewer.py" line="959"/>
         <source>&lt;b&gt;The Global Variables Viewer Window&lt;/b&gt;&lt;p&gt;This window displays the global variables of the debugged program.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Prohlížeč globálních proměnných&lt;/b&gt;&lt;p&gt;Toto okno zobrazuje globální proměnné debugovénho programu.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="966"/>
+        <location filename="../Debugger/VariablesViewer.py" line="965"/>
         <source>Local Variables</source>
         <translation>Lokální proměnné</translation>
     </message>
@@ -80880,17 +80920,17 @@
         <translation type="obsolete">Lokální</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="967"/>
+        <location filename="../Debugger/VariablesViewer.py" line="966"/>
         <source>&lt;b&gt;The Local Variables Viewer Window&lt;/b&gt;&lt;p&gt;This window displays the local variables of the debugged program.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Prohlížeč lokálních proměnných&lt;/b&gt;&lt;p&gt;Toto okno zobrazuje lokální proměnné debugovénho programu.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="1084"/>
+        <location filename="../Debugger/VariablesViewer.py" line="1083"/>
         <source>Show Details...</source>
         <translation>Zobrazit detaily...</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="1099"/>
+        <location filename="../Debugger/VariablesViewer.py" line="1098"/>
         <source>Configure...</source>
         <translation>Konfigurovat...</translation>
     </message>
@@ -80900,7 +80940,7 @@
         <translation>{0} položek</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="1097"/>
+        <location filename="../Debugger/VariablesViewer.py" line="1096"/>
         <source>Refresh</source>
         <translation type="unfinished">Obnovit</translation>
     </message>
@@ -80910,22 +80950,22 @@
         <translation type="obsolete">Složit vše</translation>
     </message>
     <message>
+        <location filename="../Debugger/VariablesViewer.py" line="1085"/>
+        <source>Expand</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location filename="../Debugger/VariablesViewer.py" line="1086"/>
-        <source>Expand</source>
+        <source>Collapse</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Debugger/VariablesViewer.py" line="1087"/>
-        <source>Collapse</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Debugger/VariablesViewer.py" line="1088"/>
         <source>Collapse All</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="1100"/>
+        <location filename="../Debugger/VariablesViewer.py" line="1099"/>
         <source>Variables Type Filter...</source>
         <translation type="unfinished"></translation>
     </message>
Binary file eric6/i18n/eric6_de.qm has changed
--- a/eric6/i18n/eric6_de.ts	Sat Dec 26 22:49:27 2020 +0100
+++ b/eric6/i18n/eric6_de.ts	Sun Dec 27 16:44:10 2020 +0100
@@ -1,6 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
-<!DOCTYPE TS>
-<TS version="2.1" language="de">
+<!DOCTYPE TS><TS version="2.0" language="de" sourcelanguage="">
 <context>
     <name>AboutDialog</name>
     <message>
@@ -2053,8 +2052,8 @@
     </message>
     <message>
         <location filename="../WebBrowser/Bookmarks/BookmarksMenu.py" line="170"/>
-        <source>Open in New Tab	Ctrl+LMB</source>
-        <translation>In neuem Register öffnen	Strg+LMK</translation>
+        <source>Open in New Tab<byte value="x9"/>Ctrl+LMB</source>
+        <translation>In neuem Register öffnen<byte value="x9"/>Strg+LMK</translation>
     </message>
     <message>
         <location filename="../WebBrowser/Bookmarks/BookmarksMenu.py" line="174"/>
@@ -2122,8 +2121,8 @@
     </message>
     <message>
         <location filename="../WebBrowser/Bookmarks/BookmarksToolBar.py" line="90"/>
-        <source>Open in New Tab	Ctrl+LMB</source>
-        <translation>In neuem Register öffnen	Strg+LMK</translation>
+        <source>Open in New Tab<byte value="x9"/>Ctrl+LMB</source>
+        <translation>In neuem Register öffnen<byte value="x9"/>Strg+LMK</translation>
     </message>
     <message>
         <location filename="../WebBrowser/Bookmarks/BookmarksToolBar.py" line="94"/>
@@ -7328,27 +7327,27 @@
 <context>
     <name>DebugViewer</name>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="170"/>
+        <location filename="../Debugger/DebugViewer.py" line="172"/>
         <source>Enter regular expression patterns separated by &apos;;&apos; to define variable filters. </source>
         <translation>Gib reguläre Ausdrücke getrennt durch „;“ ein, um Variablenfilter zu definieren. </translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="174"/>
+        <location filename="../Debugger/DebugViewer.py" line="176"/>
         <source>Enter regular expression patterns separated by &apos;;&apos; to define variable filters. All variables and class attributes matched by one of the expressions are not shown in the list above.</source>
         <translation>Gib reguläre Ausdrücke getrennt durch „;“ ein, um Variablenfilter zu definieren. Alle Variablen und Klassenattribute, auf die einer der Ausdrücke passt, werden in der obigen Liste nicht dargestellt.</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="180"/>
+        <location filename="../Debugger/DebugViewer.py" line="182"/>
         <source>Set</source>
         <translation>Setzen</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="155"/>
+        <location filename="../Debugger/DebugViewer.py" line="157"/>
         <source>Source</source>
         <translation>Quelltext</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="268"/>
+        <location filename="../Debugger/DebugViewer.py" line="278"/>
         <source>Threads:</source>
         <translation>Threads:</translation>
     </message>
@@ -7358,22 +7357,22 @@
         <translation>ID</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="270"/>
+        <location filename="../Debugger/DebugViewer.py" line="280"/>
         <source>Name</source>
         <translation>Name</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="270"/>
+        <location filename="../Debugger/DebugViewer.py" line="280"/>
         <source>State</source>
         <translation>Status</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="825"/>
+        <location filename="../Debugger/DebugViewer.py" line="846"/>
         <source>waiting at breakpoint</source>
         <translation>am Haltepunkt wartend</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="829"/>
+        <location filename="../Debugger/DebugViewer.py" line="850"/>
         <source>running</source>
         <translation>ausführend</translation>
     </message>
@@ -7383,20 +7382,60 @@
         <translation>Debugger:</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="827"/>
+        <location filename="../Debugger/DebugViewer.py" line="848"/>
         <source>waiting at exception</source>
         <translation>an Ausnahme wartend</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="831"/>
+        <location filename="../Debugger/DebugViewer.py" line="852"/>
         <source>unknown state ({0})</source>
         <translation>unbekannter Status ({0})</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="751"/>
+        <location filename="../Debugger/DebugViewer.py" line="763"/>
         <source>&lt;p&gt;Debugger with ID &lt;b&gt;{0}&lt;/b&gt; has been connected.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Debugger mit der ID &lt;b&gt;{0}&lt;/b&gt; wurde verbunden.&lt;/p&gt;</translation>
     </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="190"/>
+        <source>Shows the list of local variables and their values.</source>
+        <translation>Zeigt die Liste der lokalen Variablen mit ihren Werten.</translation>
+    </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="210"/>
+        <source>Shows the current call stack.</source>
+        <translation>Zeigt den aktuellen Aufrufstapel.</translation>
+    </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="223"/>
+        <source>Shows a trace of the program flow.</source>
+        <translation>Zeigt den Ablauf des Programms.</translation>
+    </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="235"/>
+        <source>Shows a list of defined breakpoints.</source>
+        <translation>Zeigt eine Liste der definierten Haltepunkte.</translation>
+    </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="247"/>
+        <source>Shows a list of defined watchpoints.</source>
+        <translation>Zeigt eine Liste der definierten Beobachtungspunkte.</translation>
+    </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="257"/>
+        <source>Shows a list of raised exceptions.</source>
+        <translation>Zeigt eine Liste der Ausnahmen.</translation>
+    </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="268"/>
+        <source>Shows a code disassembly in case of an exception.</source>
+        <translation>Zeigt ein Disassembly des Codes im Falle einer Ausnahme.</translation>
+    </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="134"/>
+        <source>Shows the list of global variables and their values.</source>
+        <translation>Zeigt die Liste der globalen Variablen mit ihren Werten.</translation>
+    </message>
 </context>
 <context>
     <name>DebuggerGeneralPage</name>
@@ -7864,12 +7903,12 @@
         <translation>&lt;p&gt;Der Debugger konnte nicht gestartet werden.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebuggerInterfacePython.py" line="1344"/>
+        <location filename="../Debugger/DebuggerInterfacePython.py" line="1345"/>
         <source>Debug Protocol Error</source>
         <translation>Fehler im Debugprotokoll</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebuggerInterfacePython.py" line="1344"/>
+        <location filename="../Debugger/DebuggerInterfacePython.py" line="1345"/>
         <source>&lt;p&gt;The response received from the debugger backend could not be decoded. Please report this issue with the received data to the eric bugs email address.&lt;/p&gt;&lt;p&gt;Error: {0}&lt;/p&gt;&lt;p&gt;Data:&lt;br/&gt;{1}&lt;/p&gt;</source>
         <translation>&lt;p&gt;Die vom Debugger empfangene Antwort konnte nicht dekodiert werden. Bitte berichten sie diesen Fehler zusammen mit den empfangenen Daten an die eric Bugs Emailadresse.&lt;/p&gt;&lt;p&gt;Fehler: {0}&lt;/p&gt;&lt;p&gt;Daten:&lt;br/&gt;{1}&lt;/p&gt;</translation>
     </message>
@@ -44600,12 +44639,12 @@
     </message>
     <message>
         <location filename="../MicroPython/MicroPythonWidget.py" line="1050"/>
-        <source>µPy Chart</source>
+        <source>&#xc2;&#xb5;Py Chart</source>
         <translation>µPy Chart</translation>
     </message>
     <message>
         <location filename="../MicroPython/MicroPythonWidget.py" line="1130"/>
-        <source>µPy Files</source>
+        <source>&#xc2;&#xb5;Py Files</source>
         <translation>µPy Dateien</translation>
     </message>
     <message>
@@ -76641,7 +76680,7 @@
 <context>
     <name>VariableItem</name>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="210"/>
+        <location filename="../Debugger/VariablesViewer.py" line="214"/>
         <source>&lt;double click to show value&gt;</source>
         <translation>&lt;Doppelklick, um Wert anzuzeigen&gt;</translation>
     </message>
@@ -76708,22 +76747,22 @@
 <context>
     <name>VariablesModel</name>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="281"/>
+        <location filename="../Debugger/VariablesViewer.py" line="275"/>
         <source>Globals</source>
         <translation>Global</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="283"/>
+        <location filename="../Debugger/VariablesViewer.py" line="277"/>
         <source>Locals</source>
         <translation>Lokal</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="285"/>
+        <location filename="../Debugger/VariablesViewer.py" line="279"/>
         <source>Type</source>
         <translation>Typ</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="285"/>
+        <location filename="../Debugger/VariablesViewer.py" line="279"/>
         <source>Value</source>
         <translation>Wert</translation>
     </message>
@@ -76731,22 +76770,22 @@
 <context>
     <name>VariablesViewer</name>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="959"/>
+        <location filename="../Debugger/VariablesViewer.py" line="958"/>
         <source>Global Variables</source>
         <translation>Globale Variablen</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="960"/>
+        <location filename="../Debugger/VariablesViewer.py" line="959"/>
         <source>&lt;b&gt;The Global Variables Viewer Window&lt;/b&gt;&lt;p&gt;This window displays the global variables of the debugged program.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Das Globale Variablen Fenster&lt;/b&gt;&lt;p&gt;Dieses Fenster zeigt die globalen Variablen des untersuchten Programmes an.&lt;/p&gt;</translation>
     </message>
     <message>
+        <location filename="../Debugger/VariablesViewer.py" line="965"/>
+        <source>Local Variables</source>
+        <translation>Lokale Variablen</translation>
+    </message>
+    <message>
         <location filename="../Debugger/VariablesViewer.py" line="966"/>
-        <source>Local Variables</source>
-        <translation>Lokale Variablen</translation>
-    </message>
-    <message>
-        <location filename="../Debugger/VariablesViewer.py" line="967"/>
         <source>&lt;b&gt;The Local Variables Viewer Window&lt;/b&gt;&lt;p&gt;This window displays the local variables of the debugged program.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Das Lokale Variablen Fenster&lt;/b&gt;&lt;p&gt;Dieses Fenster zeigt die lokalen Variablen des untersuchten Programmes an.&lt;/p&gt;</translation>
     </message>
@@ -76756,37 +76795,37 @@
         <translation>{0} Einträge</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="1084"/>
+        <location filename="../Debugger/VariablesViewer.py" line="1083"/>
         <source>Show Details...</source>
         <translation>Zeige Details...</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="1099"/>
+        <location filename="../Debugger/VariablesViewer.py" line="1098"/>
         <source>Configure...</source>
         <translation>Einstellungen...</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="1097"/>
+        <location filename="../Debugger/VariablesViewer.py" line="1096"/>
         <source>Refresh</source>
         <translation>Aktualisieren</translation>
     </message>
     <message>
+        <location filename="../Debugger/VariablesViewer.py" line="1085"/>
+        <source>Expand</source>
+        <translation>Ausklappen</translation>
+    </message>
+    <message>
         <location filename="../Debugger/VariablesViewer.py" line="1086"/>
-        <source>Expand</source>
-        <translation>Ausklappen</translation>
+        <source>Collapse</source>
+        <translation>Einklappen</translation>
     </message>
     <message>
         <location filename="../Debugger/VariablesViewer.py" line="1087"/>
-        <source>Collapse</source>
-        <translation>Einklappen</translation>
-    </message>
-    <message>
-        <location filename="../Debugger/VariablesViewer.py" line="1088"/>
         <source>Collapse All</source>
         <translation>Alle einklappen</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="1100"/>
+        <location filename="../Debugger/VariablesViewer.py" line="1099"/>
         <source>Variables Type Filter...</source>
         <translation>Variablentypenfilter …</translation>
     </message>
@@ -83738,8 +83777,8 @@
     </message>
     <message>
         <location filename="../WebBrowser/WebBrowserView.py" line="676"/>
-        <source>Open Link in New Tab	Ctrl+LMB</source>
-        <translation>Link in neuem Fenster öffnen	Strg+LMK</translation>
+        <source>Open Link in New Tab<byte value="x9"/>Ctrl+LMB</source>
+        <translation>Link in neuem Fenster öffnen<byte value="x9"/>Strg+LMK</translation>
     </message>
     <message>
         <location filename="../WebBrowser/WebBrowserView.py" line="682"/>
--- a/eric6/i18n/eric6_empty.ts	Sat Dec 26 22:49:27 2020 +0100
+++ b/eric6/i18n/eric6_empty.ts	Sun Dec 27 16:44:10 2020 +0100
@@ -7259,27 +7259,27 @@
 <context>
     <name>DebugViewer</name>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="170"/>
+        <location filename="../Debugger/DebugViewer.py" line="172"/>
         <source>Enter regular expression patterns separated by &apos;;&apos; to define variable filters. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="174"/>
+        <location filename="../Debugger/DebugViewer.py" line="176"/>
         <source>Enter regular expression patterns separated by &apos;;&apos; to define variable filters. All variables and class attributes matched by one of the expressions are not shown in the list above.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="180"/>
+        <location filename="../Debugger/DebugViewer.py" line="182"/>
         <source>Set</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="155"/>
+        <location filename="../Debugger/DebugViewer.py" line="157"/>
         <source>Source</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="268"/>
+        <location filename="../Debugger/DebugViewer.py" line="278"/>
         <source>Threads:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7289,22 +7289,22 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="270"/>
+        <location filename="../Debugger/DebugViewer.py" line="280"/>
         <source>Name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="270"/>
+        <location filename="../Debugger/DebugViewer.py" line="280"/>
         <source>State</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="825"/>
+        <location filename="../Debugger/DebugViewer.py" line="846"/>
         <source>waiting at breakpoint</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="829"/>
+        <location filename="../Debugger/DebugViewer.py" line="850"/>
         <source>running</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7314,20 +7314,60 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="827"/>
+        <location filename="../Debugger/DebugViewer.py" line="848"/>
         <source>waiting at exception</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="831"/>
+        <location filename="../Debugger/DebugViewer.py" line="852"/>
         <source>unknown state ({0})</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="751"/>
+        <location filename="../Debugger/DebugViewer.py" line="763"/>
         <source>&lt;p&gt;Debugger with ID &lt;b&gt;{0}&lt;/b&gt; has been connected.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="190"/>
+        <source>Shows the list of local variables and their values.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="210"/>
+        <source>Shows the current call stack.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="223"/>
+        <source>Shows a trace of the program flow.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="235"/>
+        <source>Shows a list of defined breakpoints.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="247"/>
+        <source>Shows a list of defined watchpoints.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="257"/>
+        <source>Shows a list of raised exceptions.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="268"/>
+        <source>Shows a code disassembly in case of an exception.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="134"/>
+        <source>Shows the list of global variables and their values.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>DebuggerGeneralPage</name>
@@ -7788,12 +7828,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebuggerInterfacePython.py" line="1344"/>
+        <location filename="../Debugger/DebuggerInterfacePython.py" line="1345"/>
         <source>Debug Protocol Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebuggerInterfacePython.py" line="1344"/>
+        <location filename="../Debugger/DebuggerInterfacePython.py" line="1345"/>
         <source>&lt;p&gt;The response received from the debugger backend could not be decoded. Please report this issue with the received data to the eric bugs email address.&lt;/p&gt;&lt;p&gt;Error: {0}&lt;/p&gt;&lt;p&gt;Data:&lt;br/&gt;{1}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -76066,7 +76106,7 @@
 <context>
     <name>VariableItem</name>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="210"/>
+        <location filename="../Debugger/VariablesViewer.py" line="214"/>
         <source>&lt;double click to show value&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -76130,22 +76170,22 @@
 <context>
     <name>VariablesModel</name>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="281"/>
+        <location filename="../Debugger/VariablesViewer.py" line="275"/>
         <source>Globals</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="283"/>
+        <location filename="../Debugger/VariablesViewer.py" line="277"/>
         <source>Locals</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="285"/>
+        <location filename="../Debugger/VariablesViewer.py" line="279"/>
         <source>Type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="285"/>
+        <location filename="../Debugger/VariablesViewer.py" line="279"/>
         <source>Value</source>
         <translation type="unfinished"></translation>
     </message>
@@ -76153,37 +76193,37 @@
 <context>
     <name>VariablesViewer</name>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="959"/>
+        <location filename="../Debugger/VariablesViewer.py" line="958"/>
         <source>Global Variables</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="960"/>
+        <location filename="../Debugger/VariablesViewer.py" line="959"/>
         <source>&lt;b&gt;The Global Variables Viewer Window&lt;/b&gt;&lt;p&gt;This window displays the global variables of the debugged program.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location filename="../Debugger/VariablesViewer.py" line="965"/>
+        <source>Local Variables</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location filename="../Debugger/VariablesViewer.py" line="966"/>
-        <source>Local Variables</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Debugger/VariablesViewer.py" line="967"/>
         <source>&lt;b&gt;The Local Variables Viewer Window&lt;/b&gt;&lt;p&gt;This window displays the local variables of the debugged program.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="1084"/>
+        <location filename="../Debugger/VariablesViewer.py" line="1083"/>
         <source>Show Details...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="1097"/>
+        <location filename="../Debugger/VariablesViewer.py" line="1096"/>
         <source>Refresh</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="1099"/>
+        <location filename="../Debugger/VariablesViewer.py" line="1098"/>
         <source>Configure...</source>
         <translation type="unfinished"></translation>
     </message>
@@ -76193,22 +76233,22 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location filename="../Debugger/VariablesViewer.py" line="1085"/>
+        <source>Expand</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location filename="../Debugger/VariablesViewer.py" line="1086"/>
-        <source>Expand</source>
+        <source>Collapse</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Debugger/VariablesViewer.py" line="1087"/>
-        <source>Collapse</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Debugger/VariablesViewer.py" line="1088"/>
         <source>Collapse All</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="1100"/>
+        <location filename="../Debugger/VariablesViewer.py" line="1099"/>
         <source>Variables Type Filter...</source>
         <translation type="unfinished"></translation>
     </message>
--- a/eric6/i18n/eric6_en.ts	Sat Dec 26 22:49:27 2020 +0100
+++ b/eric6/i18n/eric6_en.ts	Sun Dec 27 16:44:10 2020 +0100
@@ -7267,27 +7267,27 @@
 <context>
     <name>DebugViewer</name>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="170"/>
+        <location filename="../Debugger/DebugViewer.py" line="172"/>
         <source>Enter regular expression patterns separated by &apos;;&apos; to define variable filters. </source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="174"/>
+        <location filename="../Debugger/DebugViewer.py" line="176"/>
         <source>Enter regular expression patterns separated by &apos;;&apos; to define variable filters. All variables and class attributes matched by one of the expressions are not shown in the list above.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="180"/>
+        <location filename="../Debugger/DebugViewer.py" line="182"/>
         <source>Set</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="155"/>
+        <location filename="../Debugger/DebugViewer.py" line="157"/>
         <source>Source</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="268"/>
+        <location filename="../Debugger/DebugViewer.py" line="278"/>
         <source>Threads:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7297,22 +7297,22 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="270"/>
+        <location filename="../Debugger/DebugViewer.py" line="280"/>
         <source>Name</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="270"/>
+        <location filename="../Debugger/DebugViewer.py" line="280"/>
         <source>State</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="825"/>
+        <location filename="../Debugger/DebugViewer.py" line="846"/>
         <source>waiting at breakpoint</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="829"/>
+        <location filename="../Debugger/DebugViewer.py" line="850"/>
         <source>running</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7322,20 +7322,60 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="827"/>
+        <location filename="../Debugger/DebugViewer.py" line="848"/>
         <source>waiting at exception</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="751"/>
+        <location filename="../Debugger/DebugViewer.py" line="763"/>
         <source>&lt;p&gt;Debugger with ID &lt;b&gt;{0}&lt;/b&gt; has been connected.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="831"/>
+        <location filename="../Debugger/DebugViewer.py" line="852"/>
         <source>unknown state ({0})</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="190"/>
+        <source>Shows the list of local variables and their values.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="210"/>
+        <source>Shows the current call stack.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="223"/>
+        <source>Shows a trace of the program flow.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="235"/>
+        <source>Shows a list of defined breakpoints.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="247"/>
+        <source>Shows a list of defined watchpoints.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="257"/>
+        <source>Shows a list of raised exceptions.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="268"/>
+        <source>Shows a code disassembly in case of an exception.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="134"/>
+        <source>Shows the list of global variables and their values.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>DebuggerGeneralPage</name>
@@ -7796,12 +7836,12 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebuggerInterfacePython.py" line="1344"/>
+        <location filename="../Debugger/DebuggerInterfacePython.py" line="1345"/>
         <source>Debug Protocol Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebuggerInterfacePython.py" line="1344"/>
+        <location filename="../Debugger/DebuggerInterfacePython.py" line="1345"/>
         <source>&lt;p&gt;The response received from the debugger backend could not be decoded. Please report this issue with the received data to the eric bugs email address.&lt;/p&gt;&lt;p&gt;Error: {0}&lt;/p&gt;&lt;p&gt;Data:&lt;br/&gt;{1}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -76113,7 +76153,7 @@
 <context>
     <name>VariableItem</name>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="210"/>
+        <location filename="../Debugger/VariablesViewer.py" line="214"/>
         <source>&lt;double click to show value&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -76177,22 +76217,22 @@
 <context>
     <name>VariablesModel</name>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="281"/>
+        <location filename="../Debugger/VariablesViewer.py" line="275"/>
         <source>Globals</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="283"/>
+        <location filename="../Debugger/VariablesViewer.py" line="277"/>
         <source>Locals</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="285"/>
+        <location filename="../Debugger/VariablesViewer.py" line="279"/>
         <source>Type</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="285"/>
+        <location filename="../Debugger/VariablesViewer.py" line="279"/>
         <source>Value</source>
         <translation type="unfinished"></translation>
     </message>
@@ -76200,32 +76240,32 @@
 <context>
     <name>VariablesViewer</name>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="959"/>
+        <location filename="../Debugger/VariablesViewer.py" line="958"/>
         <source>Global Variables</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="960"/>
+        <location filename="../Debugger/VariablesViewer.py" line="959"/>
         <source>&lt;b&gt;The Global Variables Viewer Window&lt;/b&gt;&lt;p&gt;This window displays the global variables of the debugged program.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location filename="../Debugger/VariablesViewer.py" line="965"/>
+        <source>Local Variables</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location filename="../Debugger/VariablesViewer.py" line="966"/>
-        <source>Local Variables</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Debugger/VariablesViewer.py" line="967"/>
         <source>&lt;b&gt;The Local Variables Viewer Window&lt;/b&gt;&lt;p&gt;This window displays the local variables of the debugged program.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="1084"/>
+        <location filename="../Debugger/VariablesViewer.py" line="1083"/>
         <source>Show Details...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="1099"/>
+        <location filename="../Debugger/VariablesViewer.py" line="1098"/>
         <source>Configure...</source>
         <translation type="unfinished"></translation>
     </message>
@@ -76235,27 +76275,27 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="1097"/>
+        <location filename="../Debugger/VariablesViewer.py" line="1096"/>
         <source>Refresh</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
+        <location filename="../Debugger/VariablesViewer.py" line="1085"/>
+        <source>Expand</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location filename="../Debugger/VariablesViewer.py" line="1086"/>
-        <source>Expand</source>
+        <source>Collapse</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Debugger/VariablesViewer.py" line="1087"/>
-        <source>Collapse</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Debugger/VariablesViewer.py" line="1088"/>
         <source>Collapse All</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="1100"/>
+        <location filename="../Debugger/VariablesViewer.py" line="1099"/>
         <source>Variables Type Filter...</source>
         <translation type="unfinished"></translation>
     </message>
--- a/eric6/i18n/eric6_es.ts	Sat Dec 26 22:49:27 2020 +0100
+++ b/eric6/i18n/eric6_es.ts	Sun Dec 27 16:44:10 2020 +0100
@@ -7322,27 +7322,27 @@
 <context>
     <name>DebugViewer</name>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="170"/>
+        <location filename="../Debugger/DebugViewer.py" line="172"/>
         <source>Enter regular expression patterns separated by &apos;;&apos; to define variable filters. </source>
         <translation>Para definir filtros de variables introduzca patrones de expresión regular separados por &apos;;&apos;. </translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="174"/>
+        <location filename="../Debugger/DebugViewer.py" line="176"/>
         <source>Enter regular expression patterns separated by &apos;;&apos; to define variable filters. All variables and class attributes matched by one of the expressions are not shown in the list above.</source>
         <translation>Para definir filtros de variables introduzca patrones de expresión regular separados por &apos;;&apos;. Todas las variables y atributos de clases que coincidan con una de las expresiones, no se muestran en el listado anterior.</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="180"/>
+        <location filename="../Debugger/DebugViewer.py" line="182"/>
         <source>Set</source>
         <translation>Establecer</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="155"/>
+        <location filename="../Debugger/DebugViewer.py" line="157"/>
         <source>Source</source>
         <translation>Código fuente</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="268"/>
+        <location filename="../Debugger/DebugViewer.py" line="278"/>
         <source>Threads:</source>
         <translation>Hilos:</translation>
     </message>
@@ -7352,22 +7352,22 @@
         <translation>ID</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="270"/>
+        <location filename="../Debugger/DebugViewer.py" line="280"/>
         <source>Name</source>
         <translation>Nombre</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="270"/>
+        <location filename="../Debugger/DebugViewer.py" line="280"/>
         <source>State</source>
         <translation>Estado</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="825"/>
+        <location filename="../Debugger/DebugViewer.py" line="846"/>
         <source>waiting at breakpoint</source>
         <translation>esperando en el punto de ruptura</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="829"/>
+        <location filename="../Debugger/DebugViewer.py" line="850"/>
         <source>running</source>
         <translation>en ejecución</translation>
     </message>
@@ -7377,20 +7377,60 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="827"/>
+        <location filename="../Debugger/DebugViewer.py" line="848"/>
         <source>waiting at exception</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="831"/>
+        <location filename="../Debugger/DebugViewer.py" line="852"/>
         <source>unknown state ({0})</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="751"/>
+        <location filename="../Debugger/DebugViewer.py" line="763"/>
         <source>&lt;p&gt;Debugger with ID &lt;b&gt;{0}&lt;/b&gt; has been connected.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="190"/>
+        <source>Shows the list of local variables and their values.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="210"/>
+        <source>Shows the current call stack.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="223"/>
+        <source>Shows a trace of the program flow.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="235"/>
+        <source>Shows a list of defined breakpoints.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="247"/>
+        <source>Shows a list of defined watchpoints.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="257"/>
+        <source>Shows a list of raised exceptions.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="268"/>
+        <source>Shows a code disassembly in case of an exception.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="134"/>
+        <source>Shows the list of global variables and their values.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>DebuggerGeneralPage</name>
@@ -7879,12 +7919,12 @@
         <translation type="obsolete">Seleccionar la rama de fork para continuar.</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebuggerInterfacePython.py" line="1344"/>
+        <location filename="../Debugger/DebuggerInterfacePython.py" line="1345"/>
         <source>Debug Protocol Error</source>
         <translation>Error de Protocolo de Depuración</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebuggerInterfacePython.py" line="1344"/>
+        <location filename="../Debugger/DebuggerInterfacePython.py" line="1345"/>
         <source>&lt;p&gt;The response received from the debugger backend could not be decoded. Please report this issue with the received data to the eric bugs email address.&lt;/p&gt;&lt;p&gt;Error: {0}&lt;/p&gt;&lt;p&gt;Data:&lt;br/&gt;{1}&lt;/p&gt;</source>
         <translation>&lt;p&gt;La respuesta recibida desde el backend del depurador no se ha podido descodificar. Por favor, informar de este problema junto con los datos recibidos a la dirección de email para bugs de eric.&lt;/p&gt;&lt;p&gt;Error: {0}&lt;/p&gt;&lt;p&gt;Datos:&lt;br/&gt;{1}&lt;/p&gt;</translation>
     </message>
@@ -76761,7 +76801,7 @@
 <context>
     <name>VariableItem</name>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="210"/>
+        <location filename="../Debugger/VariablesViewer.py" line="214"/>
         <source>&lt;double click to show value&gt;</source>
         <translation>&lt;doble click para mostrar valor&gt;</translation>
     </message>
@@ -76828,22 +76868,22 @@
 <context>
     <name>VariablesModel</name>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="281"/>
+        <location filename="../Debugger/VariablesViewer.py" line="275"/>
         <source>Globals</source>
         <translation>Globales</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="283"/>
+        <location filename="../Debugger/VariablesViewer.py" line="277"/>
         <source>Locals</source>
         <translation>Locales</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="285"/>
+        <location filename="../Debugger/VariablesViewer.py" line="279"/>
         <source>Type</source>
         <translation>Tipo</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="285"/>
+        <location filename="../Debugger/VariablesViewer.py" line="279"/>
         <source>Value</source>
         <translation>Valor</translation>
     </message>
@@ -76851,32 +76891,32 @@
 <context>
     <name>VariablesViewer</name>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="959"/>
+        <location filename="../Debugger/VariablesViewer.py" line="958"/>
         <source>Global Variables</source>
         <translation>Variables Globales</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="960"/>
+        <location filename="../Debugger/VariablesViewer.py" line="959"/>
         <source>&lt;b&gt;The Global Variables Viewer Window&lt;/b&gt;&lt;p&gt;This window displays the global variables of the debugged program.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Ventana de Visor de Variables Globales&lt;/b&gt;&lt;p&gt;Esta ventana muestra las variables globales del programa en depuración.&lt;/p&gt;</translation>
     </message>
     <message>
+        <location filename="../Debugger/VariablesViewer.py" line="965"/>
+        <source>Local Variables</source>
+        <translation>Variables Locales</translation>
+    </message>
+    <message>
         <location filename="../Debugger/VariablesViewer.py" line="966"/>
-        <source>Local Variables</source>
-        <translation>Variables Locales</translation>
-    </message>
-    <message>
-        <location filename="../Debugger/VariablesViewer.py" line="967"/>
         <source>&lt;b&gt;The Local Variables Viewer Window&lt;/b&gt;&lt;p&gt;This window displays the local variables of the debugged program.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Ventana de Visor de Variables Locales&lt;/b&gt;&lt;p&gt;Esta ventana muestra las variables locales  del programa en depuración.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="1084"/>
+        <location filename="../Debugger/VariablesViewer.py" line="1083"/>
         <source>Show Details...</source>
         <translation>Mostrar detalles...</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="1099"/>
+        <location filename="../Debugger/VariablesViewer.py" line="1098"/>
         <source>Configure...</source>
         <translation>Configurar...</translation>
     </message>
@@ -76886,27 +76926,27 @@
         <translation>{0} elementos</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="1097"/>
+        <location filename="../Debugger/VariablesViewer.py" line="1096"/>
         <source>Refresh</source>
         <translation>Actualizar</translation>
     </message>
     <message>
+        <location filename="../Debugger/VariablesViewer.py" line="1085"/>
+        <source>Expand</source>
+        <translation>Expandir</translation>
+    </message>
+    <message>
         <location filename="../Debugger/VariablesViewer.py" line="1086"/>
-        <source>Expand</source>
-        <translation>Expandir</translation>
+        <source>Collapse</source>
+        <translation>Contraer</translation>
     </message>
     <message>
         <location filename="../Debugger/VariablesViewer.py" line="1087"/>
-        <source>Collapse</source>
-        <translation>Contraer</translation>
-    </message>
-    <message>
-        <location filename="../Debugger/VariablesViewer.py" line="1088"/>
         <source>Collapse All</source>
         <translation>Contraer Todo</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="1100"/>
+        <location filename="../Debugger/VariablesViewer.py" line="1099"/>
         <source>Variables Type Filter...</source>
         <translation>Fitro por Tipo de Variable...</translation>
     </message>
--- a/eric6/i18n/eric6_fr.ts	Sat Dec 26 22:49:27 2020 +0100
+++ b/eric6/i18n/eric6_fr.ts	Sun Dec 27 16:44:10 2020 +0100
@@ -7488,27 +7488,27 @@
 <context>
     <name>DebugViewer</name>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="170"/>
+        <location filename="../Debugger/DebugViewer.py" line="172"/>
         <source>Enter regular expression patterns separated by &apos;;&apos; to define variable filters. </source>
         <translation>Entrer des expressions régulières séparées par &apos;;&apos; pour définir les filtres de variables. </translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="174"/>
+        <location filename="../Debugger/DebugViewer.py" line="176"/>
         <source>Enter regular expression patterns separated by &apos;;&apos; to define variable filters. All variables and class attributes matched by one of the expressions are not shown in the list above.</source>
         <translation>Entrer des expressions régulières séparées par &apos;;&apos; pour définir les filtres de variables. Toutes les variables et attributs de classes répondant à l&apos;un des critères ne sont pas affichés dans la liste ci-dessous.</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="180"/>
+        <location filename="../Debugger/DebugViewer.py" line="182"/>
         <source>Set</source>
         <translation>Liste</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="155"/>
+        <location filename="../Debugger/DebugViewer.py" line="157"/>
         <source>Source</source>
         <translation>Source</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="268"/>
+        <location filename="../Debugger/DebugViewer.py" line="278"/>
         <source>Threads:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7518,22 +7518,22 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="270"/>
+        <location filename="../Debugger/DebugViewer.py" line="280"/>
         <source>Name</source>
         <translation>Nom</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="270"/>
+        <location filename="../Debugger/DebugViewer.py" line="280"/>
         <source>State</source>
         <translation>État</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="825"/>
+        <location filename="../Debugger/DebugViewer.py" line="846"/>
         <source>waiting at breakpoint</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="829"/>
+        <location filename="../Debugger/DebugViewer.py" line="850"/>
         <source>running</source>
         <translation>en cours</translation>
     </message>
@@ -7543,20 +7543,60 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="827"/>
+        <location filename="../Debugger/DebugViewer.py" line="848"/>
         <source>waiting at exception</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="831"/>
+        <location filename="../Debugger/DebugViewer.py" line="852"/>
         <source>unknown state ({0})</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="751"/>
+        <location filename="../Debugger/DebugViewer.py" line="763"/>
         <source>&lt;p&gt;Debugger with ID &lt;b&gt;{0}&lt;/b&gt; has been connected.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="190"/>
+        <source>Shows the list of local variables and their values.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="210"/>
+        <source>Shows the current call stack.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="223"/>
+        <source>Shows a trace of the program flow.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="235"/>
+        <source>Shows a list of defined breakpoints.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="247"/>
+        <source>Shows a list of defined watchpoints.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="257"/>
+        <source>Shows a list of raised exceptions.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="268"/>
+        <source>Shows a code disassembly in case of an exception.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="134"/>
+        <source>Shows the list of global variables and their values.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>DebuggerGeneralPage</name>
@@ -8023,12 +8063,12 @@
         <translation>&lt;p&gt;Impossible de lancer le débogueur en arrière-plan.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebuggerInterfacePython.py" line="1344"/>
+        <location filename="../Debugger/DebuggerInterfacePython.py" line="1345"/>
         <source>Debug Protocol Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebuggerInterfacePython.py" line="1344"/>
+        <location filename="../Debugger/DebuggerInterfacePython.py" line="1345"/>
         <source>&lt;p&gt;The response received from the debugger backend could not be decoded. Please report this issue with the received data to the eric bugs email address.&lt;/p&gt;&lt;p&gt;Error: {0}&lt;/p&gt;&lt;p&gt;Data:&lt;br/&gt;{1}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -80073,7 +80113,7 @@
 <context>
     <name>VariableItem</name>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="210"/>
+        <location filename="../Debugger/VariablesViewer.py" line="214"/>
         <source>&lt;double click to show value&gt;</source>
         <translation>&lt;double-cliquer pour afficher la valeur&gt;</translation>
     </message>
@@ -80158,22 +80198,22 @@
 <context>
     <name>VariablesModel</name>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="281"/>
+        <location filename="../Debugger/VariablesViewer.py" line="275"/>
         <source>Globals</source>
         <translation>Globales</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="283"/>
+        <location filename="../Debugger/VariablesViewer.py" line="277"/>
         <source>Locals</source>
         <translation>Locales</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="285"/>
+        <location filename="../Debugger/VariablesViewer.py" line="279"/>
         <source>Type</source>
         <translation>Type</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="285"/>
+        <location filename="../Debugger/VariablesViewer.py" line="279"/>
         <source>Value</source>
         <translation>Valeur</translation>
     </message>
@@ -80181,7 +80221,7 @@
 <context>
     <name>VariablesViewer</name>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="959"/>
+        <location filename="../Debugger/VariablesViewer.py" line="958"/>
         <source>Global Variables</source>
         <translation>Variables globales</translation>
     </message>
@@ -80191,12 +80231,12 @@
         <translation type="obsolete">Globales</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="960"/>
+        <location filename="../Debugger/VariablesViewer.py" line="959"/>
         <source>&lt;b&gt;The Global Variables Viewer Window&lt;/b&gt;&lt;p&gt;This window displays the global variables of the debugged program.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Fenêtre de visualisation des variables globales&lt;/b&gt;&lt;p&gt;Cette fenêtre affiche les variables globales du programme débogué.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="966"/>
+        <location filename="../Debugger/VariablesViewer.py" line="965"/>
         <source>Local Variables</source>
         <translation>Variables locales</translation>
     </message>
@@ -80206,7 +80246,7 @@
         <translation type="obsolete">Locales</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="967"/>
+        <location filename="../Debugger/VariablesViewer.py" line="966"/>
         <source>&lt;b&gt;The Local Variables Viewer Window&lt;/b&gt;&lt;p&gt;This window displays the local variables of the debugged program.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Fenêtre de visualisation des variables locales&lt;/b&gt;&lt;p&gt;Cette fenêtre affiche les variables locales du programme débogué.&lt;/p&gt;</translation>
     </message>
@@ -80221,12 +80261,12 @@
         <translation type="obsolete">Type</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="1084"/>
+        <location filename="../Debugger/VariablesViewer.py" line="1083"/>
         <source>Show Details...</source>
         <translation>Afficher les détails...</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="1099"/>
+        <location filename="../Debugger/VariablesViewer.py" line="1098"/>
         <source>Configure...</source>
         <translation>Configuration...</translation>
     </message>
@@ -80236,7 +80276,7 @@
         <translation>{0} items</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="1097"/>
+        <location filename="../Debugger/VariablesViewer.py" line="1096"/>
         <source>Refresh</source>
         <translation>Rafraichir</translation>
     </message>
@@ -80246,22 +80286,22 @@
         <translation type="obsolete">Tout contracter</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="1086"/>
+        <location filename="../Debugger/VariablesViewer.py" line="1085"/>
         <source>Expand</source>
         <translation>Déployer</translation>
     </message>
     <message>
+        <location filename="../Debugger/VariablesViewer.py" line="1086"/>
+        <source>Collapse</source>
+        <translation>Contracter</translation>
+    </message>
+    <message>
         <location filename="../Debugger/VariablesViewer.py" line="1087"/>
-        <source>Collapse</source>
-        <translation>Contracter</translation>
-    </message>
-    <message>
-        <location filename="../Debugger/VariablesViewer.py" line="1088"/>
         <source>Collapse All</source>
         <translation>Tout contracter</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="1100"/>
+        <location filename="../Debugger/VariablesViewer.py" line="1099"/>
         <source>Variables Type Filter...</source>
         <translation>Filtre de type de variables...</translation>
     </message>
--- a/eric6/i18n/eric6_it.ts	Sat Dec 26 22:49:27 2020 +0100
+++ b/eric6/i18n/eric6_it.ts	Sun Dec 27 16:44:10 2020 +0100
@@ -7600,27 +7600,27 @@
 <context>
     <name>DebugViewer</name>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="170"/>
+        <location filename="../Debugger/DebugViewer.py" line="172"/>
         <source>Enter regular expression patterns separated by &apos;;&apos; to define variable filters. </source>
         <translation>Inserisi pattern  delle espressioni regolari serate da &apos;;&apos; per definire dei filtri variabili.</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="174"/>
+        <location filename="../Debugger/DebugViewer.py" line="176"/>
         <source>Enter regular expression patterns separated by &apos;;&apos; to define variable filters. All variables and class attributes matched by one of the expressions are not shown in the list above.</source>
         <translation>Inserisi pattern  delle espressioni regolari serate da &apos;;&apos; per definire dei filtri variabili. Tutte le variabili e gli attributi di classe che sono verificati da una di queste espressioni non sono mostrate nella lista sottostante.</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="180"/>
+        <location filename="../Debugger/DebugViewer.py" line="182"/>
         <source>Set</source>
         <translation>Imposta</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="155"/>
+        <location filename="../Debugger/DebugViewer.py" line="157"/>
         <source>Source</source>
         <translation>Sorgente</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="268"/>
+        <location filename="../Debugger/DebugViewer.py" line="278"/>
         <source>Threads:</source>
         <translation>Threads:</translation>
     </message>
@@ -7630,22 +7630,22 @@
         <translation>ID</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="270"/>
+        <location filename="../Debugger/DebugViewer.py" line="280"/>
         <source>Name</source>
         <translation>Nome</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="270"/>
+        <location filename="../Debugger/DebugViewer.py" line="280"/>
         <source>State</source>
         <translation>Stato</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="825"/>
+        <location filename="../Debugger/DebugViewer.py" line="846"/>
         <source>waiting at breakpoint</source>
         <translation>in attesa ad un breakpoint</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="829"/>
+        <location filename="../Debugger/DebugViewer.py" line="850"/>
         <source>running</source>
         <translation>in esecuzione</translation>
     </message>
@@ -7655,20 +7655,60 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="827"/>
+        <location filename="../Debugger/DebugViewer.py" line="848"/>
         <source>waiting at exception</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="831"/>
+        <location filename="../Debugger/DebugViewer.py" line="852"/>
         <source>unknown state ({0})</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="751"/>
+        <location filename="../Debugger/DebugViewer.py" line="763"/>
         <source>&lt;p&gt;Debugger with ID &lt;b&gt;{0}&lt;/b&gt; has been connected.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="190"/>
+        <source>Shows the list of local variables and their values.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="210"/>
+        <source>Shows the current call stack.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="223"/>
+        <source>Shows a trace of the program flow.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="235"/>
+        <source>Shows a list of defined breakpoints.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="247"/>
+        <source>Shows a list of defined watchpoints.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="257"/>
+        <source>Shows a list of raised exceptions.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="268"/>
+        <source>Shows a code disassembly in case of an exception.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="134"/>
+        <source>Shows the list of global variables and their values.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>DebuggerGeneralPage</name>
@@ -8155,12 +8195,12 @@
         <translation type="obsolete">Seleziona il client da seguire.</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebuggerInterfacePython.py" line="1344"/>
+        <location filename="../Debugger/DebuggerInterfacePython.py" line="1345"/>
         <source>Debug Protocol Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebuggerInterfacePython.py" line="1344"/>
+        <location filename="../Debugger/DebuggerInterfacePython.py" line="1345"/>
         <source>&lt;p&gt;The response received from the debugger backend could not be decoded. Please report this issue with the received data to the eric bugs email address.&lt;/p&gt;&lt;p&gt;Error: {0}&lt;/p&gt;&lt;p&gt;Data:&lt;br/&gt;{1}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -82996,7 +83036,7 @@
 <context>
     <name>VariableItem</name>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="210"/>
+        <location filename="../Debugger/VariablesViewer.py" line="214"/>
         <source>&lt;double click to show value&gt;</source>
         <translation>&lt;doppio click per mostrare il valore&gt;</translation>
     </message>
@@ -83086,22 +83126,22 @@
 <context>
     <name>VariablesModel</name>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="281"/>
+        <location filename="../Debugger/VariablesViewer.py" line="275"/>
         <source>Globals</source>
         <translation type="unfinished">Globali</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="283"/>
+        <location filename="../Debugger/VariablesViewer.py" line="277"/>
         <source>Locals</source>
         <translation type="unfinished">Locali</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="285"/>
+        <location filename="../Debugger/VariablesViewer.py" line="279"/>
         <source>Type</source>
         <translation type="unfinished">Tipo</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="285"/>
+        <location filename="../Debugger/VariablesViewer.py" line="279"/>
         <source>Value</source>
         <translation type="unfinished">Valore</translation>
     </message>
@@ -83109,7 +83149,7 @@
 <context>
     <name>VariablesViewer</name>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="959"/>
+        <location filename="../Debugger/VariablesViewer.py" line="958"/>
         <source>Global Variables</source>
         <translation>Variabili globali</translation>
     </message>
@@ -83119,12 +83159,12 @@
         <translation type="obsolete">Globali</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="960"/>
+        <location filename="../Debugger/VariablesViewer.py" line="959"/>
         <source>&lt;b&gt;The Global Variables Viewer Window&lt;/b&gt;&lt;p&gt;This window displays the global variables of the debugged program.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Finestra di visualizzazione delle variabili globali&lt;/b&gt;&lt;p&gt;Questa finestra mostra le variabili globali del programma in debug.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="966"/>
+        <location filename="../Debugger/VariablesViewer.py" line="965"/>
         <source>Local Variables</source>
         <translation>Variabili locali</translation>
     </message>
@@ -83134,7 +83174,7 @@
         <translation type="obsolete">Locali</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="967"/>
+        <location filename="../Debugger/VariablesViewer.py" line="966"/>
         <source>&lt;b&gt;The Local Variables Viewer Window&lt;/b&gt;&lt;p&gt;This window displays the local variables of the debugged program.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Finestra di visualizzazione delle variabili locali&lt;/b&gt;&lt;p&gt;Questa finestra mostra le variabili locali del programma in debug.&lt;/p&gt;</translation>
     </message>
@@ -83149,12 +83189,12 @@
         <translation type="obsolete">Tipo</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="1084"/>
+        <location filename="../Debugger/VariablesViewer.py" line="1083"/>
         <source>Show Details...</source>
         <translation>Mostra dettagli...</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="1099"/>
+        <location filename="../Debugger/VariablesViewer.py" line="1098"/>
         <source>Configure...</source>
         <translation>Configura...</translation>
     </message>
@@ -83164,7 +83204,7 @@
         <translation>{0} elementi</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="1097"/>
+        <location filename="../Debugger/VariablesViewer.py" line="1096"/>
         <source>Refresh</source>
         <translation type="unfinished"></translation>
     </message>
@@ -83174,22 +83214,22 @@
         <translation type="obsolete">Raggruppa tutto</translation>
     </message>
     <message>
+        <location filename="../Debugger/VariablesViewer.py" line="1085"/>
+        <source>Expand</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location filename="../Debugger/VariablesViewer.py" line="1086"/>
-        <source>Expand</source>
+        <source>Collapse</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Debugger/VariablesViewer.py" line="1087"/>
-        <source>Collapse</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Debugger/VariablesViewer.py" line="1088"/>
         <source>Collapse All</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="1100"/>
+        <location filename="../Debugger/VariablesViewer.py" line="1099"/>
         <source>Variables Type Filter...</source>
         <translation type="unfinished"></translation>
     </message>
--- a/eric6/i18n/eric6_pt.ts	Sat Dec 26 22:49:27 2020 +0100
+++ b/eric6/i18n/eric6_pt.ts	Sun Dec 27 16:44:10 2020 +0100
@@ -7602,27 +7602,27 @@
 <context>
     <name>DebugViewer</name>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="170"/>
+        <location filename="../Debugger/DebugViewer.py" line="172"/>
         <source>Enter regular expression patterns separated by &apos;;&apos; to define variable filters. </source>
         <translation>Introduzir padrões de expressões regulares separados por &apos;;&apos; para definir os filtros de variáveis. </translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="174"/>
+        <location filename="../Debugger/DebugViewer.py" line="176"/>
         <source>Enter regular expression patterns separated by &apos;;&apos; to define variable filters. All variables and class attributes matched by one of the expressions are not shown in the list above.</source>
         <translation>Introduza padrões de expressões regulares separados por &apos;;&apos; para definir os filtros de variáveis. Todos os atributos de classes e variáveis que coincidam com uma das expressões não se mostrarão na lista de cima.</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="180"/>
+        <location filename="../Debugger/DebugViewer.py" line="182"/>
         <source>Set</source>
         <translation>Definir</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="155"/>
+        <location filename="../Debugger/DebugViewer.py" line="157"/>
         <source>Source</source>
         <translation>Fonte</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="268"/>
+        <location filename="../Debugger/DebugViewer.py" line="278"/>
         <source>Threads:</source>
         <translation>Segmentos:</translation>
     </message>
@@ -7632,22 +7632,22 @@
         <translation></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="270"/>
+        <location filename="../Debugger/DebugViewer.py" line="280"/>
         <source>Name</source>
         <translation>Nome</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="270"/>
+        <location filename="../Debugger/DebugViewer.py" line="280"/>
         <source>State</source>
         <translation>Estado</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="825"/>
+        <location filename="../Debugger/DebugViewer.py" line="846"/>
         <source>waiting at breakpoint</source>
         <translation>à espera no ponto de interrupção</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="829"/>
+        <location filename="../Debugger/DebugViewer.py" line="850"/>
         <source>running</source>
         <translation>a executar</translation>
     </message>
@@ -7657,20 +7657,60 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="827"/>
+        <location filename="../Debugger/DebugViewer.py" line="848"/>
         <source>waiting at exception</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="831"/>
+        <location filename="../Debugger/DebugViewer.py" line="852"/>
         <source>unknown state ({0})</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="751"/>
+        <location filename="../Debugger/DebugViewer.py" line="763"/>
         <source>&lt;p&gt;Debugger with ID &lt;b&gt;{0}&lt;/b&gt; has been connected.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="190"/>
+        <source>Shows the list of local variables and their values.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="210"/>
+        <source>Shows the current call stack.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="223"/>
+        <source>Shows a trace of the program flow.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="235"/>
+        <source>Shows a list of defined breakpoints.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="247"/>
+        <source>Shows a list of defined watchpoints.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="257"/>
+        <source>Shows a list of raised exceptions.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="268"/>
+        <source>Shows a code disassembly in case of an exception.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="134"/>
+        <source>Shows the list of global variables and their values.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>DebuggerGeneralPage</name>
@@ -8157,12 +8197,12 @@
         <translation type="obsolete">Selecionar o ramo da bifurcação a seguir.</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebuggerInterfacePython.py" line="1344"/>
+        <location filename="../Debugger/DebuggerInterfacePython.py" line="1345"/>
         <source>Debug Protocol Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebuggerInterfacePython.py" line="1344"/>
+        <location filename="../Debugger/DebuggerInterfacePython.py" line="1345"/>
         <source>&lt;p&gt;The response received from the debugger backend could not be decoded. Please report this issue with the received data to the eric bugs email address.&lt;/p&gt;&lt;p&gt;Error: {0}&lt;/p&gt;&lt;p&gt;Data:&lt;br/&gt;{1}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -81568,7 +81608,7 @@
 <context>
     <name>VariableItem</name>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="210"/>
+        <location filename="../Debugger/VariablesViewer.py" line="214"/>
         <source>&lt;double click to show value&gt;</source>
         <translation>&lt;clique duplo para mostrar valor&gt;</translation>
     </message>
@@ -81655,22 +81695,22 @@
 <context>
     <name>VariablesModel</name>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="281"/>
+        <location filename="../Debugger/VariablesViewer.py" line="275"/>
         <source>Globals</source>
         <translation type="unfinished">Globais</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="283"/>
+        <location filename="../Debugger/VariablesViewer.py" line="277"/>
         <source>Locals</source>
         <translation type="unfinished">Locais</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="285"/>
+        <location filename="../Debugger/VariablesViewer.py" line="279"/>
         <source>Type</source>
         <translation type="unfinished">Tipo</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="285"/>
+        <location filename="../Debugger/VariablesViewer.py" line="279"/>
         <source>Value</source>
         <translation type="unfinished">Valor</translation>
     </message>
@@ -81678,7 +81718,7 @@
 <context>
     <name>VariablesViewer</name>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="959"/>
+        <location filename="../Debugger/VariablesViewer.py" line="958"/>
         <source>Global Variables</source>
         <translation>Variáveis Globais</translation>
     </message>
@@ -81698,12 +81738,12 @@
         <translation type="obsolete">Tipo</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="960"/>
+        <location filename="../Debugger/VariablesViewer.py" line="959"/>
         <source>&lt;b&gt;The Global Variables Viewer Window&lt;/b&gt;&lt;p&gt;This window displays the global variables of the debugged program.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="966"/>
+        <location filename="../Debugger/VariablesViewer.py" line="965"/>
         <source>Local Variables</source>
         <translation>Variáveis Locais</translation>
     </message>
@@ -81713,17 +81753,17 @@
         <translation type="obsolete">Locais</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="967"/>
+        <location filename="../Debugger/VariablesViewer.py" line="966"/>
         <source>&lt;b&gt;The Local Variables Viewer Window&lt;/b&gt;&lt;p&gt;This window displays the local variables of the debugged program.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="1084"/>
+        <location filename="../Debugger/VariablesViewer.py" line="1083"/>
         <source>Show Details...</source>
         <translation>Mostrar Detalhes...</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="1099"/>
+        <location filename="../Debugger/VariablesViewer.py" line="1098"/>
         <source>Configure...</source>
         <translation>Configurar...</translation>
     </message>
@@ -81733,7 +81773,7 @@
         <translation>{0} elementos</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="1097"/>
+        <location filename="../Debugger/VariablesViewer.py" line="1096"/>
         <source>Refresh</source>
         <translation type="unfinished">Atualizar</translation>
     </message>
@@ -81743,22 +81783,22 @@
         <translation type="obsolete">Contrair tudo</translation>
     </message>
     <message>
+        <location filename="../Debugger/VariablesViewer.py" line="1085"/>
+        <source>Expand</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location filename="../Debugger/VariablesViewer.py" line="1086"/>
-        <source>Expand</source>
+        <source>Collapse</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Debugger/VariablesViewer.py" line="1087"/>
-        <source>Collapse</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Debugger/VariablesViewer.py" line="1088"/>
         <source>Collapse All</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="1100"/>
+        <location filename="../Debugger/VariablesViewer.py" line="1099"/>
         <source>Variables Type Filter...</source>
         <translation type="unfinished"></translation>
     </message>
--- a/eric6/i18n/eric6_ru.ts	Sat Dec 26 22:49:27 2020 +0100
+++ b/eric6/i18n/eric6_ru.ts	Sun Dec 27 16:44:10 2020 +0100
@@ -7352,27 +7352,27 @@
 <context>
     <name>DebugViewer</name>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="170"/>
+        <location filename="../Debugger/DebugViewer.py" line="172"/>
         <source>Enter regular expression patterns separated by &apos;;&apos; to define variable filters. </source>
         <translation>Задайте для фильтров переменных маски регулярных выражений, разделённые &apos;;&apos;. </translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="174"/>
+        <location filename="../Debugger/DebugViewer.py" line="176"/>
         <source>Enter regular expression patterns separated by &apos;;&apos; to define variable filters. All variables and class attributes matched by one of the expressions are not shown in the list above.</source>
         <translation>Задайте для фильтров переменных регулярные выражения, разделённые &apos;;&apos;. Все переменные и атрибуты классов, совпавшие с одним из этих выражений, не показываются в списке выше.</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="180"/>
+        <location filename="../Debugger/DebugViewer.py" line="182"/>
         <source>Set</source>
         <translation>Установить</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="155"/>
+        <location filename="../Debugger/DebugViewer.py" line="157"/>
         <source>Source</source>
         <translation>Исходный текст</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="268"/>
+        <location filename="../Debugger/DebugViewer.py" line="278"/>
         <source>Threads:</source>
         <translation>Потоки:</translation>
     </message>
@@ -7382,22 +7382,22 @@
         <translation>ID</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="270"/>
+        <location filename="../Debugger/DebugViewer.py" line="280"/>
         <source>Name</source>
         <translation>Имя</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="270"/>
+        <location filename="../Debugger/DebugViewer.py" line="280"/>
         <source>State</source>
         <translation>Состояние</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="825"/>
+        <location filename="../Debugger/DebugViewer.py" line="846"/>
         <source>waiting at breakpoint</source>
         <translation>В точке останова</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="829"/>
+        <location filename="../Debugger/DebugViewer.py" line="850"/>
         <source>running</source>
         <translation>выполняется</translation>
     </message>
@@ -7407,20 +7407,60 @@
         <translation>Отладчики:</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="827"/>
+        <location filename="../Debugger/DebugViewer.py" line="848"/>
         <source>waiting at exception</source>
         <translation>ожидание исключения</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="831"/>
+        <location filename="../Debugger/DebugViewer.py" line="852"/>
         <source>unknown state ({0})</source>
         <translation>неизвестное состояние ({0})</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="751"/>
+        <location filename="../Debugger/DebugViewer.py" line="763"/>
         <source>&lt;p&gt;Debugger with ID &lt;b&gt;{0}&lt;/b&gt; has been connected.&lt;/p&gt;</source>
         <translation>&lt;p&gt;Подключен отладчик с ID &lt;b&gt;{0}&lt;/b&gt;.&lt;/p&gt;</translation>
     </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="190"/>
+        <source>Shows the list of local variables and their values.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="210"/>
+        <source>Shows the current call stack.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="223"/>
+        <source>Shows a trace of the program flow.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="235"/>
+        <source>Shows a list of defined breakpoints.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="247"/>
+        <source>Shows a list of defined watchpoints.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="257"/>
+        <source>Shows a list of raised exceptions.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="268"/>
+        <source>Shows a code disassembly in case of an exception.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="134"/>
+        <source>Shows the list of global variables and their values.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>DebuggerGeneralPage</name>
@@ -7889,12 +7929,12 @@
         <translation>&lt;p&gt;Невозможно запустить бэкэнд отладчика&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebuggerInterfacePython.py" line="1344"/>
+        <location filename="../Debugger/DebuggerInterfacePython.py" line="1345"/>
         <source>Debug Protocol Error</source>
         <translation>Протокол ошибок отладки</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebuggerInterfacePython.py" line="1344"/>
+        <location filename="../Debugger/DebuggerInterfacePython.py" line="1345"/>
         <source>&lt;p&gt;The response received from the debugger backend could not be decoded. Please report this issue with the received data to the eric bugs email address.&lt;/p&gt;&lt;p&gt;Error: {0}&lt;/p&gt;&lt;p&gt;Data:&lt;br/&gt;{1}&lt;/p&gt;</source>
         <translation>&lt;p&gt;Невозможно декодировать ответ, полученный от бэкэнда отладчика. Сообщите об этой проблеме, отправив полученные данные на электронную почту eric bugs.&lt;/p&gt;&lt;p&gt;Error: {0}&lt;/p&gt;&lt;p&gt;Data: &lt;br/&gt;{1}&lt;/p&gt;</translation>
     </message>
@@ -76796,7 +76836,7 @@
 <context>
     <name>VariableItem</name>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="210"/>
+        <location filename="../Debugger/VariablesViewer.py" line="214"/>
         <source>&lt;double click to show value&gt;</source>
         <translation>&lt;дважды кликните чтобы показать значение&gt;</translation>
     </message>
@@ -76863,22 +76903,22 @@
 <context>
     <name>VariablesModel</name>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="281"/>
+        <location filename="../Debugger/VariablesViewer.py" line="275"/>
         <source>Globals</source>
         <translation>Глобальные</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="283"/>
+        <location filename="../Debugger/VariablesViewer.py" line="277"/>
         <source>Locals</source>
         <translation>Локальные</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="285"/>
+        <location filename="../Debugger/VariablesViewer.py" line="279"/>
         <source>Type</source>
         <translation>Тип</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="285"/>
+        <location filename="../Debugger/VariablesViewer.py" line="279"/>
         <source>Value</source>
         <translation>Значение</translation>
     </message>
@@ -76886,34 +76926,34 @@
 <context>
     <name>VariablesViewer</name>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="959"/>
+        <location filename="../Debugger/VariablesViewer.py" line="958"/>
         <source>Global Variables</source>
         <translation>Глобальные переменные</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="960"/>
+        <location filename="../Debugger/VariablesViewer.py" line="959"/>
         <source>&lt;b&gt;The Global Variables Viewer Window&lt;/b&gt;&lt;p&gt;This window displays the global variables of the debugged program.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Окно показа глобальных переменных&lt;/b&gt;
 &lt;p&gt;Это окно отображает глобальные переменные отлаживаемой программы.&lt;/p&gt;</translation>
     </message>
     <message>
+        <location filename="../Debugger/VariablesViewer.py" line="965"/>
+        <source>Local Variables</source>
+        <translation>Локальные переменные</translation>
+    </message>
+    <message>
         <location filename="../Debugger/VariablesViewer.py" line="966"/>
-        <source>Local Variables</source>
-        <translation>Локальные переменные</translation>
-    </message>
-    <message>
-        <location filename="../Debugger/VariablesViewer.py" line="967"/>
         <source>&lt;b&gt;The Local Variables Viewer Window&lt;/b&gt;&lt;p&gt;This window displays the local variables of the debugged program.&lt;/p&gt;</source>
         <translation>&lt;b&gt;Окно показа локальных переменных&lt;/b&gt;
 &lt;p&gt;Это окно отображает локальные переменные отлаживаемой программы.&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="1084"/>
+        <location filename="../Debugger/VariablesViewer.py" line="1083"/>
         <source>Show Details...</source>
         <translation>Показать подробности...</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="1099"/>
+        <location filename="../Debugger/VariablesViewer.py" line="1098"/>
         <source>Configure...</source>
         <translation>Настроить...</translation>
     </message>
@@ -76923,27 +76963,27 @@
         <translation>{0} элементов</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="1097"/>
+        <location filename="../Debugger/VariablesViewer.py" line="1096"/>
         <source>Refresh</source>
         <translation>Освежить</translation>
     </message>
     <message>
+        <location filename="../Debugger/VariablesViewer.py" line="1085"/>
+        <source>Expand</source>
+        <translation>Развернуть</translation>
+    </message>
+    <message>
         <location filename="../Debugger/VariablesViewer.py" line="1086"/>
-        <source>Expand</source>
-        <translation>Развернуть</translation>
+        <source>Collapse</source>
+        <translation>Свернуть</translation>
     </message>
     <message>
         <location filename="../Debugger/VariablesViewer.py" line="1087"/>
-        <source>Collapse</source>
-        <translation>Свернуть</translation>
-    </message>
-    <message>
-        <location filename="../Debugger/VariablesViewer.py" line="1088"/>
         <source>Collapse All</source>
         <translation>Свернуть все</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="1100"/>
+        <location filename="../Debugger/VariablesViewer.py" line="1099"/>
         <source>Variables Type Filter...</source>
         <translation>Фильтр типа переменных...</translation>
     </message>
--- a/eric6/i18n/eric6_tr.ts	Sat Dec 26 22:49:27 2020 +0100
+++ b/eric6/i18n/eric6_tr.ts	Sun Dec 27 16:44:10 2020 +0100
@@ -7478,27 +7478,27 @@
 <context>
     <name>DebugViewer</name>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="170"/>
+        <location filename="../Debugger/DebugViewer.py" line="172"/>
         <source>Enter regular expression patterns separated by &apos;;&apos; to define variable filters. </source>
         <translation>Değişken filtreleri için düzenli ifadelerin şablonlarını &apos;;&apos; ile ayırarak giriniz.</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="174"/>
+        <location filename="../Debugger/DebugViewer.py" line="176"/>
         <source>Enter regular expression patterns separated by &apos;;&apos; to define variable filters. All variables and class attributes matched by one of the expressions are not shown in the list above.</source>
         <translation>Değişken filtreleri için düzenli ifadelerin şablonlarını &apos;;&apos; ile ayırarak giriniz.Düzenli ifadelerdeki  tüm değişkenler ve sınıf nitelikleri listede gösterildiğinden farklı olmamalıdır.</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="180"/>
+        <location filename="../Debugger/DebugViewer.py" line="182"/>
         <source>Set</source>
         <translation>Ayarla</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="155"/>
+        <location filename="../Debugger/DebugViewer.py" line="157"/>
         <source>Source</source>
         <translation>Kaynak</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="268"/>
+        <location filename="../Debugger/DebugViewer.py" line="278"/>
         <source>Threads:</source>
         <translation>Bağlantılar:</translation>
     </message>
@@ -7508,22 +7508,22 @@
         <translation>ID</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="270"/>
+        <location filename="../Debugger/DebugViewer.py" line="280"/>
         <source>Name</source>
         <translation>Adı</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="270"/>
+        <location filename="../Debugger/DebugViewer.py" line="280"/>
         <source>State</source>
         <translation>Durum</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="825"/>
+        <location filename="../Debugger/DebugViewer.py" line="846"/>
         <source>waiting at breakpoint</source>
         <translation>Bekleme oktasında bekleniyor</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="829"/>
+        <location filename="../Debugger/DebugViewer.py" line="850"/>
         <source>running</source>
         <translation>çalışıyor</translation>
     </message>
@@ -7533,20 +7533,60 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="827"/>
+        <location filename="../Debugger/DebugViewer.py" line="848"/>
         <source>waiting at exception</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="831"/>
+        <location filename="../Debugger/DebugViewer.py" line="852"/>
         <source>unknown state ({0})</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="751"/>
+        <location filename="../Debugger/DebugViewer.py" line="763"/>
         <source>&lt;p&gt;Debugger with ID &lt;b&gt;{0}&lt;/b&gt; has been connected.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="190"/>
+        <source>Shows the list of local variables and their values.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="210"/>
+        <source>Shows the current call stack.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="223"/>
+        <source>Shows a trace of the program flow.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="235"/>
+        <source>Shows a list of defined breakpoints.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="247"/>
+        <source>Shows a list of defined watchpoints.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="257"/>
+        <source>Shows a list of raised exceptions.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="268"/>
+        <source>Shows a code disassembly in case of an exception.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="134"/>
+        <source>Shows the list of global variables and their values.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>DebuggerGeneralPage</name>
@@ -8031,12 +8071,12 @@
         <translation type="obsolete">Takip eden çatallaşmadaki branşı seç.</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebuggerInterfacePython.py" line="1344"/>
+        <location filename="../Debugger/DebuggerInterfacePython.py" line="1345"/>
         <source>Debug Protocol Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebuggerInterfacePython.py" line="1344"/>
+        <location filename="../Debugger/DebuggerInterfacePython.py" line="1345"/>
         <source>&lt;p&gt;The response received from the debugger backend could not be decoded. Please report this issue with the received data to the eric bugs email address.&lt;/p&gt;&lt;p&gt;Error: {0}&lt;/p&gt;&lt;p&gt;Data:&lt;br/&gt;{1}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -80652,7 +80692,7 @@
 <context>
     <name>VariableItem</name>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="210"/>
+        <location filename="../Debugger/VariablesViewer.py" line="214"/>
         <source>&lt;double click to show value&gt;</source>
         <translation>&lt; değeri göstermek için iki tuş&gt;</translation>
     </message>
@@ -80739,22 +80779,22 @@
 <context>
     <name>VariablesModel</name>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="281"/>
+        <location filename="../Debugger/VariablesViewer.py" line="275"/>
         <source>Globals</source>
         <translation type="unfinished">Evrensel</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="283"/>
+        <location filename="../Debugger/VariablesViewer.py" line="277"/>
         <source>Locals</source>
         <translation type="unfinished">Yereller</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="285"/>
+        <location filename="../Debugger/VariablesViewer.py" line="279"/>
         <source>Type</source>
         <translation type="unfinished">Tip</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="285"/>
+        <location filename="../Debugger/VariablesViewer.py" line="279"/>
         <source>Value</source>
         <translation type="unfinished">Değer</translation>
     </message>
@@ -80762,7 +80802,7 @@
 <context>
     <name>VariablesViewer</name>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="959"/>
+        <location filename="../Debugger/VariablesViewer.py" line="958"/>
         <source>Global Variables</source>
         <translation>Evrensel Değişkenler</translation>
     </message>
@@ -80782,12 +80822,12 @@
         <translation type="obsolete">Tip</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="960"/>
+        <location filename="../Debugger/VariablesViewer.py" line="959"/>
         <source>&lt;b&gt;The Global Variables Viewer Window&lt;/b&gt;&lt;p&gt;This window displays the global variables of the debugged program.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="966"/>
+        <location filename="../Debugger/VariablesViewer.py" line="965"/>
         <source>Local Variables</source>
         <translation>Yerel Değişkenler</translation>
     </message>
@@ -80797,17 +80837,17 @@
         <translation type="obsolete">Yereller</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="967"/>
+        <location filename="../Debugger/VariablesViewer.py" line="966"/>
         <source>&lt;b&gt;The Local Variables Viewer Window&lt;/b&gt;&lt;p&gt;This window displays the local variables of the debugged program.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="1084"/>
+        <location filename="../Debugger/VariablesViewer.py" line="1083"/>
         <source>Show Details...</source>
         <translation>Detayları Göster...</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="1099"/>
+        <location filename="../Debugger/VariablesViewer.py" line="1098"/>
         <source>Configure...</source>
         <translation>Ayarlanıyor...</translation>
     </message>
@@ -80817,7 +80857,7 @@
         <translation>{0} madde</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="1097"/>
+        <location filename="../Debugger/VariablesViewer.py" line="1096"/>
         <source>Refresh</source>
         <translation type="unfinished">Tazele</translation>
     </message>
@@ -80827,22 +80867,22 @@
         <translation type="obsolete">Hepsini daralt</translation>
     </message>
     <message>
+        <location filename="../Debugger/VariablesViewer.py" line="1085"/>
+        <source>Expand</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location filename="../Debugger/VariablesViewer.py" line="1086"/>
-        <source>Expand</source>
+        <source>Collapse</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Debugger/VariablesViewer.py" line="1087"/>
-        <source>Collapse</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Debugger/VariablesViewer.py" line="1088"/>
         <source>Collapse All</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="1100"/>
+        <location filename="../Debugger/VariablesViewer.py" line="1099"/>
         <source>Variables Type Filter...</source>
         <translation type="unfinished"></translation>
     </message>
--- a/eric6/i18n/eric6_zh_CN.ts	Sat Dec 26 22:49:27 2020 +0100
+++ b/eric6/i18n/eric6_zh_CN.ts	Sun Dec 27 16:44:10 2020 +0100
@@ -7511,27 +7511,27 @@
 <context>
     <name>DebugViewer</name>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="170"/>
+        <location filename="../Debugger/DebugViewer.py" line="172"/>
         <source>Enter regular expression patterns separated by &apos;;&apos; to define variable filters. </source>
         <translation>输入正则表达式模块(模块间用“;”分隔)以定义变量过滤器。</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="174"/>
+        <location filename="../Debugger/DebugViewer.py" line="176"/>
         <source>Enter regular expression patterns separated by &apos;;&apos; to define variable filters. All variables and class attributes matched by one of the expressions are not shown in the list above.</source>
         <translation>输入正则表达式模块(模块间用“;”分隔)以定义变量过滤器。所有与表达式中的一个模块匹配的变量和类属性不会显示在以上列表中。</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="180"/>
+        <location filename="../Debugger/DebugViewer.py" line="182"/>
         <source>Set</source>
         <translation>设置</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="155"/>
+        <location filename="../Debugger/DebugViewer.py" line="157"/>
         <source>Source</source>
         <translation>源文件</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="268"/>
+        <location filename="../Debugger/DebugViewer.py" line="278"/>
         <source>Threads:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7541,22 +7541,22 @@
         <translation>ID</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="270"/>
+        <location filename="../Debugger/DebugViewer.py" line="280"/>
         <source>Name</source>
         <translation>名称</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="270"/>
+        <location filename="../Debugger/DebugViewer.py" line="280"/>
         <source>State</source>
         <translation>状态</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="825"/>
+        <location filename="../Debugger/DebugViewer.py" line="846"/>
         <source>waiting at breakpoint</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="829"/>
+        <location filename="../Debugger/DebugViewer.py" line="850"/>
         <source>running</source>
         <translation>运行中</translation>
     </message>
@@ -7566,20 +7566,60 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="827"/>
+        <location filename="../Debugger/DebugViewer.py" line="848"/>
         <source>waiting at exception</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="831"/>
+        <location filename="../Debugger/DebugViewer.py" line="852"/>
         <source>unknown state ({0})</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebugViewer.py" line="751"/>
+        <location filename="../Debugger/DebugViewer.py" line="763"/>
         <source>&lt;p&gt;Debugger with ID &lt;b&gt;{0}&lt;/b&gt; has been connected.&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="190"/>
+        <source>Shows the list of local variables and their values.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="210"/>
+        <source>Shows the current call stack.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="223"/>
+        <source>Shows a trace of the program flow.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="235"/>
+        <source>Shows a list of defined breakpoints.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="247"/>
+        <source>Shows a list of defined watchpoints.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="257"/>
+        <source>Shows a list of raised exceptions.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="268"/>
+        <source>Shows a code disassembly in case of an exception.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="../Debugger/DebugViewer.py" line="134"/>
+        <source>Shows the list of global variables and their values.</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>DebuggerGeneralPage</name>
@@ -8056,12 +8096,12 @@
         <translation type="obsolete">子进程</translation>
     </message>
     <message>
-        <location filename="../Debugger/DebuggerInterfacePython.py" line="1344"/>
+        <location filename="../Debugger/DebuggerInterfacePython.py" line="1345"/>
         <source>Debug Protocol Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/DebuggerInterfacePython.py" line="1344"/>
+        <location filename="../Debugger/DebuggerInterfacePython.py" line="1345"/>
         <source>&lt;p&gt;The response received from the debugger backend could not be decoded. Please report this issue with the received data to the eric bugs email address.&lt;/p&gt;&lt;p&gt;Error: {0}&lt;/p&gt;&lt;p&gt;Data:&lt;br/&gt;{1}&lt;/p&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -82228,7 +82268,7 @@
 <context>
     <name>VariableItem</name>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="210"/>
+        <location filename="../Debugger/VariablesViewer.py" line="214"/>
         <source>&lt;double click to show value&gt;</source>
         <translation>&lt;double click to show value&gt;</translation>
     </message>
@@ -82318,22 +82358,22 @@
 <context>
     <name>VariablesModel</name>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="281"/>
+        <location filename="../Debugger/VariablesViewer.py" line="275"/>
         <source>Globals</source>
         <translation type="unfinished">全局</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="283"/>
+        <location filename="../Debugger/VariablesViewer.py" line="277"/>
         <source>Locals</source>
         <translation type="unfinished">局部</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="285"/>
+        <location filename="../Debugger/VariablesViewer.py" line="279"/>
         <source>Type</source>
         <translation type="unfinished">类型</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="285"/>
+        <location filename="../Debugger/VariablesViewer.py" line="279"/>
         <source>Value</source>
         <translation type="unfinished">值</translation>
     </message>
@@ -82341,7 +82381,7 @@
 <context>
     <name>VariablesViewer</name>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="959"/>
+        <location filename="../Debugger/VariablesViewer.py" line="958"/>
         <source>Global Variables</source>
         <translation>全局变量</translation>
     </message>
@@ -82361,12 +82401,12 @@
         <translation type="obsolete">类型</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="960"/>
+        <location filename="../Debugger/VariablesViewer.py" line="959"/>
         <source>&lt;b&gt;The Global Variables Viewer Window&lt;/b&gt;&lt;p&gt;This window displays the global variables of the debugged program.&lt;/p&gt;</source>
         <translation>&lt;b&gt;全局变量浏览器窗口&lt;/b&gt;&lt;p&gt;该窗口显示调试程序的全局变量。&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="966"/>
+        <location filename="../Debugger/VariablesViewer.py" line="965"/>
         <source>Local Variables</source>
         <translation>局部变量</translation>
     </message>
@@ -82376,17 +82416,17 @@
         <translation type="obsolete">局部</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="967"/>
+        <location filename="../Debugger/VariablesViewer.py" line="966"/>
         <source>&lt;b&gt;The Local Variables Viewer Window&lt;/b&gt;&lt;p&gt;This window displays the local variables of the debugged program.&lt;/p&gt;</source>
         <translation>&lt;b&gt;局部变量浏览器窗口&lt;/b&gt;&lt;p&gt;该窗口显示高度程序的局部变量。&lt;/p&gt;</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="1084"/>
+        <location filename="../Debugger/VariablesViewer.py" line="1083"/>
         <source>Show Details...</source>
         <translation>显示细节…</translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="1099"/>
+        <location filename="../Debugger/VariablesViewer.py" line="1098"/>
         <source>Configure...</source>
         <translation>配置…</translation>
     </message>
@@ -82396,7 +82436,7 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="1097"/>
+        <location filename="../Debugger/VariablesViewer.py" line="1096"/>
         <source>Refresh</source>
         <translation type="unfinished">刷新</translation>
     </message>
@@ -82406,22 +82446,22 @@
         <translation type="obsolete">折叠所有</translation>
     </message>
     <message>
+        <location filename="../Debugger/VariablesViewer.py" line="1085"/>
+        <source>Expand</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
         <location filename="../Debugger/VariablesViewer.py" line="1086"/>
-        <source>Expand</source>
+        <source>Collapse</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
         <location filename="../Debugger/VariablesViewer.py" line="1087"/>
-        <source>Collapse</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location filename="../Debugger/VariablesViewer.py" line="1088"/>
         <source>Collapse All</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../Debugger/VariablesViewer.py" line="1100"/>
+        <location filename="../Debugger/VariablesViewer.py" line="1099"/>
         <source>Variables Type Filter...</source>
         <translation type="unfinished"></translation>
     </message>
Binary file eric6/icons/oxygen/disassembly.png has changed

eric ide

mercurial