--- a/Debugger/DebugUI.py Fri May 24 18:39:58 2013 +0200 +++ b/Debugger/DebugUI.py Tue May 28 20:52:12 2013 +0200 @@ -1031,7 +1031,7 @@ res = None if stackTrace: try: - file, line = stackTrace[0] + file, line = stackTrace[0][:2] source, encoding = Utilities.readEncodedFile(file) source = source.splitlines(True) if len(source) >= line and \ @@ -1075,8 +1075,8 @@ if res == E5MessageBox.Yes: self.exceptionInterrupt.emit() stack = [] - for fn, ln in stackTrace: - stack.append((fn, ln, '')) + for fn, ln, func, args in stackTrace: + stack.append((fn, ln, func, args)) self.clientStack.emit(stack) self.__getClientVariables() self.ui.setDebugProfile() @@ -1458,6 +1458,8 @@ argv = '--plugin="{0}" {1}'.format(fn, argv) fn = os.path.join(getConfig('ericDir'), "eric5.py") + self.debugViewer.initCallStackViewer(runProject) + # Ask the client to open the new program. self.debugServer.remoteCoverage(fn, argv, wd, env, autoClearShell=self.autoClearShell, erase=eraseCoverage, @@ -1567,6 +1569,8 @@ argv = '--plugin="{0}" {1}'.format(fn, argv) fn = os.path.join(getConfig('ericDir'), "eric5.py") + self.debugViewer.initCallStackViewer(runProject) + # Ask the client to open the new program. self.debugServer.remoteProfile(fn, argv, wd, env, autoClearShell=self.autoClearShell, erase=eraseTimings, @@ -1679,6 +1683,8 @@ argv = '--plugin="{0}" {1}'.format(fn, argv) fn = os.path.join(getConfig('ericDir'), "eric5.py") + self.debugViewer.initCallStackViewer(runProject) + # Ask the client to open the new program. self.debugServer.remoteRun(fn, argv, wd, env, autoClearShell=self.autoClearShell, forProject=runProject, @@ -1799,6 +1805,8 @@ fn = os.path.join(getConfig('ericDir'), "eric5.py") tracePython = True # override flag because it must be true + self.debugViewer.initCallStackViewer(debugProject) + # Ask the client to send call trace info enableCallTrace = self.debugViewer.isCallTraceEnabled() self.debugViewer.clearCallTrace() @@ -1855,6 +1863,8 @@ argv = '--plugin="{0}" {1}'.format(fn, argv) fn = os.path.join(getConfig('ericDir'), "eric5.py") + self.debugViewer.initCallStackViewer(forProject) + if self.lastStartAction in [1, 2]: # Ask the client to send call trace info enableCallTrace = self.debugViewer.isCallTraceEnabled() @@ -1920,6 +1930,9 @@ # Signal that we have started a debugging session self.debuggingStarted.emit(fn) + # Initialize the call stack viewer + self.debugViewer.initCallStackViewer(False) + def __continue(self): """ Private method to handle the Continue action.