Debugger/DebugUI.py

branch
Py2 comp.
changeset 2677
3d4277929fb3
parent 2525
8b507a9a2d40
parent 2622
08cc2f31c983
child 2791
a9577f248f04
--- 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.

eric ide

mercurial