Sat, 15 Feb 2020 14:33:13 +0100
Ironed out some issues.
--- a/eric6/DebugClients/Python/ThreadExtension.py Sat Feb 15 12:13:52 2020 +0100 +++ b/eric6/DebugClients/Python/ThreadExtension.py Sat Feb 15 14:33:13 2020 +0100 @@ -284,8 +284,11 @@ @type method pointer """ newThread = DebugBase(_debugClient) + newThread.name = self.name + _debugClient.threads[self.ident] = newThread - newThread.name = self.name + _debugClient.dumpThreadList() + # see DebugBase.bootstrap sys.settrace(newThread.trace_dispatch) try: @@ -295,6 +298,7 @@ newThread.user_exception(excinfo, True) finally: sys.settrace(None) + _debugClient.dumpThreadList() class ThreadWrapper(module.Thread): """ @@ -372,11 +376,12 @@ name = 'QtThread-{0}'.format(_qtThreadNumber) _qtThreadNumber += 1 - + newThread.id = ident newThread.name = name _debugClient.threads[ident] = newThread + _debugClient.dumpThreadList() # see DebugBase.bootstrap sys.settrace(newThread.trace_dispatch) @@ -390,6 +395,7 @@ newThread.user_exception(excinfo, True) finally: sys.settrace(None) + _debugClient.dumpThreadList() class QThreadWrapper(module.QThread): """
--- a/eric6/Debugger/DebugServer.py Sat Feb 15 12:13:52 2020 +0100 +++ b/eric6/Debugger/DebugServer.py Sat Feb 15 14:33:13 2020 +0100 @@ -131,7 +131,7 @@ clientOutput = pyqtSignal(str) clientLine = pyqtSignal(str, int, str, bool) clientStack = pyqtSignal(list, str) - clientThreadList = pyqtSignal(int, list, str) + clientThreadList = pyqtSignal('PyQt_PyObject', list, str) clientThreadSet = pyqtSignal(str) clientVariables = pyqtSignal(int, list, str) clientVariable = pyqtSignal(int, list, str)
--- a/eric6/Debugger/DebugUI.py Sat Feb 15 12:13:52 2020 +0100 +++ b/eric6/Debugger/DebugUI.py Sat Feb 15 14:33:13 2020 +0100 @@ -1029,7 +1029,7 @@ self.ui.setDebugProfile() self.viewmanager.setFileLine(fn, line) if not forStack: - self.__getThreadList() + self.__getThreadList(debuggerId) self.__getClientVariables(debuggerId) self.debugActGrp.setEnabled(True) @@ -1303,7 +1303,7 @@ self.tr('The program being debugged has terminated' ' unexpectedly.')) - def __getThreadList(self, debuggerId=""): + def __getThreadList(self, debuggerId): """ Private method to get the list of threads from the client.