Debugger/DebugUI.py

changeset 5899
0516f6548ca6
parent 5663
52a91f9a7a76
child 6039
d52e90757805
equal deleted inserted replaced
5898:fc96d49f5fbf 5899:0516f6548ca6
75 # Clear some variables 75 # Clear some variables
76 self.projectOpen = False 76 self.projectOpen = False
77 self.editorOpen = False 77 self.editorOpen = False
78 78
79 # read the saved debug info values 79 # read the saved debug info values
80 self.interpreterHistory = Preferences.toList(
81 Preferences.Prefs.settings.value('DebugInfo/InterpreterHistory'))
80 self.argvHistory = Preferences.toList( 82 self.argvHistory = Preferences.toList(
81 Preferences.Prefs.settings.value('DebugInfo/ArgumentsHistory')) 83 Preferences.Prefs.settings.value('DebugInfo/ArgumentsHistory'))
82 self.wdHistory = Preferences.toList( 84 self.wdHistory = Preferences.toList(
83 Preferences.Prefs.settings.value( 85 Preferences.Prefs.settings.value(
84 'DebugInfo/WorkingDirectoryHistory')) 86 'DebugInfo/WorkingDirectoryHistory'))
667 toolbarManager.addAction(self.coverageAct, starttb.windowTitle()) 669 toolbarManager.addAction(self.coverageAct, starttb.windowTitle())
668 toolbarManager.addAction(self.coverageProjectAct, 670 toolbarManager.addAction(self.coverageProjectAct,
669 starttb.windowTitle()) 671 starttb.windowTitle())
670 672
671 return [starttb, debugtb] 673 return [starttb, debugtb]
672 674
675 def setInterpreterHistory(self, interpreterStr, clearHistories=False,
676 history=None):
677 """
678 Public slot to initialize the interpreter history.
679
680 @param interpreterStr interpreter (string)
681 @param clearHistories flag indicating, that the list should
682 be cleared (boolean)
683 @param history list of history entries to be set (list of strings)
684 """
685 if clearHistories:
686 del self.interpreterHistory[1:]
687 elif history is not None:
688 self.interpreterHistory = history[:]
689 else:
690 if interpreterStr in self.interpreterHistory:
691 self.interpreterHistory.remove(interpreterStr)
692 self.interpreterHistory.insert(0, interpreterStr)
693
673 def setArgvHistory(self, argsStr, clearHistories=False, history=None): 694 def setArgvHistory(self, argsStr, clearHistories=False, history=None):
674 """ 695 """
675 Public slot to initialize the argv history. 696 Public slot to initialize the argv history.
676 697
677 @param argsStr the commandline arguments (string) 698 @param argsStr the commandline arguments (string)
908 929
909 def clearHistories(self): 930 def clearHistories(self):
910 """ 931 """
911 Public method to clear the various debug histories. 932 Public method to clear the various debug histories.
912 """ 933 """
934 self.interpreterHistory = []
913 self.argvHistory = [] 935 self.argvHistory = []
914 self.wdHistory = [] 936 self.wdHistory = []
915 self.envHistory = [] 937 self.envHistory = []
916 938
939 Preferences.Prefs.settings.setValue(
940 'DebugInfo/InterpreterHistory', self.interpreterHistory)
917 Preferences.Prefs.settings.setValue( 941 Preferences.Prefs.settings.setValue(
918 'DebugInfo/ArgumentsHistory', self.argvHistory) 942 'DebugInfo/ArgumentsHistory', self.argvHistory)
919 Preferences.Prefs.settings.setValue( 943 Preferences.Prefs.settings.setValue(
920 'DebugInfo/WorkingDirectoryHistory', self.wdHistory) 944 'DebugInfo/WorkingDirectoryHistory', self.wdHistory)
921 Preferences.Prefs.settings.setValue( 945 Preferences.Prefs.settings.setValue(
924 def shutdown(self): 948 def shutdown(self):
925 """ 949 """
926 Public method to perform shutdown actions. 950 Public method to perform shutdown actions.
927 """ 951 """
928 # Just save the 10 most recent entries 952 # Just save the 10 most recent entries
953 del self.interpreterHistory[10:]
929 del self.argvHistory[10:] 954 del self.argvHistory[10:]
930 del self.wdHistory[10:] 955 del self.wdHistory[10:]
931 del self.envHistory[10:] 956 del self.envHistory[10:]
932 957
958 Preferences.Prefs.settings.setValue(
959 'DebugInfo/InterpreterHistory', self.interpreterHistory)
933 Preferences.Prefs.settings.setValue( 960 Preferences.Prefs.settings.setValue(
934 'DebugInfo/ArgumentsHistory', self.argvHistory) 961 'DebugInfo/ArgumentsHistory', self.argvHistory)
935 Preferences.Prefs.settings.setValue( 962 Preferences.Prefs.settings.setValue(
936 'DebugInfo/WorkingDirectoryHistory', self.wdHistory) 963 'DebugInfo/WorkingDirectoryHistory', self.wdHistory)
937 Preferences.Prefs.settings.setValue( 964 Preferences.Prefs.settings.setValue(
1543 if runProject: 1570 if runProject:
1544 cap = self.tr("Coverage of Project") 1571 cap = self.tr("Coverage of Project")
1545 else: 1572 else:
1546 cap = self.tr("Coverage of Script") 1573 cap = self.tr("Coverage of Script")
1547 dlg = StartDialog( 1574 dlg = StartDialog(
1548 cap, self.argvHistory, self.wdHistory, 1575 cap, self.interpreterHistory, self.argvHistory, self.wdHistory,
1549 self.envHistory, self.exceptions, self.ui, 2, 1576 self.envHistory, self.exceptions, self.ui, 2,
1550 autoClearShell=self.autoClearShell) 1577 autoClearShell=self.autoClearShell)
1551 if dlg.exec_() == QDialog.Accepted: 1578 if dlg.exec_() == QDialog.Accepted:
1552 argv, wd, env, exceptions, clearShell, console = dlg.getData() 1579 interpreter, argv, wd, env, exceptions, clearShell, console = \
1580 dlg.getData()
1553 eraseCoverage = dlg.getCoverageData() 1581 eraseCoverage = dlg.getCoverageData()
1554 1582
1555 if runProject: 1583 if runProject:
1556 fn = self.project.getMainScript(True) 1584 fn = self.project.getMainScript(True)
1557 if fn is None: 1585 if fn is None:
1567 not self.project.saveAllScripts(reportSyntaxErrors=True): 1595 not self.project.saveAllScripts(reportSyntaxErrors=True):
1568 doNotStart = True 1596 doNotStart = True
1569 1597
1570 # save the info for later use 1598 # save the info for later use
1571 self.project.setDbgInfo( 1599 self.project.setDbgInfo(
1572 argv, wd, env, exceptions, self.excList, 1600 interpreter, argv, wd, env, exceptions, self.excList,
1573 self.excIgnoreList, clearShell) 1601 self.excIgnoreList, clearShell)
1574 1602
1575 self.lastStartAction = 6 1603 self.lastStartAction = 6
1576 self.clientType = self.project.getProjectLanguage() 1604 self.clientType = self.project.getProjectLanguage()
1577 else: 1605 else:
1593 self.lastDebuggedFile = fn 1621 self.lastDebuggedFile = fn
1594 self.restartAct.setEnabled(True) 1622 self.restartAct.setEnabled(True)
1595 1623
1596 # This moves any previous occurrence of these arguments to the head 1624 # This moves any previous occurrence of these arguments to the head
1597 # of the list. 1625 # of the list.
1626 self.setInterpreterHistory(interpreter)
1598 self.setArgvHistory(argv) 1627 self.setArgvHistory(argv)
1599 self.setWdHistory(wd) 1628 self.setWdHistory(wd)
1600 self.setEnvHistory(env) 1629 self.setEnvHistory(env)
1601 1630
1602 # Save the exception flags 1631 # Save the exception flags
1622 1651
1623 self.debugViewer.initCallStackViewer(runProject) 1652 self.debugViewer.initCallStackViewer(runProject)
1624 1653
1625 # Ask the client to open the new program. 1654 # Ask the client to open the new program.
1626 self.debugServer.remoteCoverage( 1655 self.debugServer.remoteCoverage(
1627 fn, argv, wd, env, 1656 interpreter, fn, argv, wd, env,
1628 autoClearShell=self.autoClearShell, erase=eraseCoverage, 1657 autoClearShell=self.autoClearShell, erase=eraseCoverage,
1629 forProject=runProject, runInConsole=console, 1658 forProject=runProject, runInConsole=console,
1630 clientType=self.clientType) 1659 clientType=self.clientType)
1631 1660
1632 self.stopAct.setEnabled(True) 1661 self.stopAct.setEnabled(True)
1633 1662
1634 if dlg.clearHistories(): 1663 if dlg.clearHistories():
1664 self.setInterpreterHistory("", clearHistories=True)
1635 self.setArgvHistory("", clearHistories=True) 1665 self.setArgvHistory("", clearHistories=True)
1636 self.setWdHistory("", clearHistories=True) 1666 self.setWdHistory("", clearHistories=True)
1637 self.setEnvHistory("", clearHistories=True) 1667 self.setEnvHistory("", clearHistories=True)
1638 elif dlg.historiesModified(): 1668 elif dlg.historiesModified():
1639 argvHistory, wdHistory, envHistory = dlg.getHistories() 1669 argvHistory, wdHistory, envHistory, interpreterHistory = \
1670 dlg.getHistories()
1671 self.setInterpreterHistory("", history=interpreterHistory)
1640 self.setArgvHistory("", history=argvHistory) 1672 self.setArgvHistory("", history=argvHistory)
1641 self.setWdHistory("", history=wdHistory) 1673 self.setWdHistory("", history=wdHistory)
1642 self.setEnvHistory("", history=envHistory) 1674 self.setEnvHistory("", history=envHistory)
1643 1675
1644 def __profileScript(self): 1676 def __profileScript(self):
1671 if runProject: 1703 if runProject:
1672 cap = self.tr("Profile of Project") 1704 cap = self.tr("Profile of Project")
1673 else: 1705 else:
1674 cap = self.tr("Profile of Script") 1706 cap = self.tr("Profile of Script")
1675 dlg = StartDialog( 1707 dlg = StartDialog(
1676 cap, self.argvHistory, self.wdHistory, self.envHistory, 1708 cap, self.interpreterHistory, self.argvHistory, self.wdHistory,
1677 self.exceptions, self.ui, 3, 1709 self.envHistory, self.exceptions, self.ui, 3,
1678 autoClearShell=self.autoClearShell) 1710 autoClearShell=self.autoClearShell)
1679 if dlg.exec_() == QDialog.Accepted: 1711 if dlg.exec_() == QDialog.Accepted:
1680 argv, wd, env, exceptions, clearShell, console = dlg.getData() 1712 interpreter, argv, wd, env, exceptions, clearShell, console = \
1713 dlg.getData()
1681 eraseTimings = dlg.getProfilingData() 1714 eraseTimings = dlg.getProfilingData()
1682 1715
1683 if runProject: 1716 if runProject:
1684 fn = self.project.getMainScript(True) 1717 fn = self.project.getMainScript(True)
1685 if fn is None: 1718 if fn is None:
1695 not self.project.saveAllScripts(reportSyntaxErrors=True): 1728 not self.project.saveAllScripts(reportSyntaxErrors=True):
1696 doNotStart = True 1729 doNotStart = True
1697 1730
1698 # save the info for later use 1731 # save the info for later use
1699 self.project.setDbgInfo( 1732 self.project.setDbgInfo(
1700 argv, wd, env, exceptions, self.excList, 1733 interpreter, argv, wd, env, exceptions, self.excList,
1701 self.excIgnoreList, clearShell) 1734 self.excIgnoreList, clearShell)
1702 1735
1703 self.lastStartAction = 8 1736 self.lastStartAction = 8
1704 self.clientType = self.project.getProjectLanguage() 1737 self.clientType = self.project.getProjectLanguage()
1705 else: 1738 else:
1721 self.lastDebuggedFile = fn 1754 self.lastDebuggedFile = fn
1722 self.restartAct.setEnabled(True) 1755 self.restartAct.setEnabled(True)
1723 1756
1724 # This moves any previous occurrence of these arguments to the head 1757 # This moves any previous occurrence of these arguments to the head
1725 # of the list. 1758 # of the list.
1759 self.setInterpreterHistory(interpreter)
1726 self.setArgvHistory(argv) 1760 self.setArgvHistory(argv)
1727 self.setWdHistory(wd) 1761 self.setWdHistory(wd)
1728 self.setEnvHistory(env) 1762 self.setEnvHistory(env)
1729 1763
1730 # Save the exception flags 1764 # Save the exception flags
1750 1784
1751 self.debugViewer.initCallStackViewer(runProject) 1785 self.debugViewer.initCallStackViewer(runProject)
1752 1786
1753 # Ask the client to open the new program. 1787 # Ask the client to open the new program.
1754 self.debugServer.remoteProfile( 1788 self.debugServer.remoteProfile(
1755 fn, argv, wd, env, 1789 interpreter, fn, argv, wd, env,
1756 autoClearShell=self.autoClearShell, erase=eraseTimings, 1790 autoClearShell=self.autoClearShell, erase=eraseTimings,
1757 forProject=runProject, runInConsole=console, 1791 forProject=runProject, runInConsole=console,
1758 clientType=self.clientType) 1792 clientType=self.clientType)
1759 1793
1760 self.stopAct.setEnabled(True) 1794 self.stopAct.setEnabled(True)
1761 1795
1762 if dlg.clearHistories(): 1796 if dlg.clearHistories():
1797 self.setInterpreterHistory("", clearHistories=True)
1763 self.setArgvHistory("", clearHistories=True) 1798 self.setArgvHistory("", clearHistories=True)
1764 self.setWdHistory("", clearHistories=True) 1799 self.setWdHistory("", clearHistories=True)
1765 self.setEnvHistory("", clearHistories=True) 1800 self.setEnvHistory("", clearHistories=True)
1766 elif dlg.historiesModified(): 1801 elif dlg.historiesModified():
1767 argvHistory, wdHistory, envHistory = dlg.getHistories() 1802 argvHistory, wdHistory, envHistory, interpreterHistory = \
1803 dlg.getHistories()
1804 self.setInterpreterHistory("", history=interpreterHistory)
1768 self.setArgvHistory("", history=argvHistory) 1805 self.setArgvHistory("", history=argvHistory)
1769 self.setWdHistory("", history=wdHistory) 1806 self.setWdHistory("", history=wdHistory)
1770 self.setEnvHistory("", history=envHistory) 1807 self.setEnvHistory("", history=envHistory)
1771 1808
1772 def __runScript(self): 1809 def __runScript(self):
1799 if runProject: 1836 if runProject:
1800 cap = self.tr("Run Project") 1837 cap = self.tr("Run Project")
1801 else: 1838 else:
1802 cap = self.tr("Run Script") 1839 cap = self.tr("Run Script")
1803 dlg = StartDialog( 1840 dlg = StartDialog(
1804 cap, self.argvHistory, self.wdHistory, self.envHistory, 1841 cap, self.interpreterHistory, self.argvHistory, self.wdHistory,
1805 self.exceptions, self.ui, 1, 1842 self.envHistory, self.exceptions, self.ui, 1,
1806 autoClearShell=self.autoClearShell, 1843 autoClearShell=self.autoClearShell,
1807 autoFork=self.forkAutomatically, 1844 autoFork=self.forkAutomatically,
1808 forkChild=self.forkIntoChild) 1845 forkChild=self.forkIntoChild)
1809 if dlg.exec_() == QDialog.Accepted: 1846 if dlg.exec_() == QDialog.Accepted:
1810 argv, wd, env, exceptions, clearShell, console = dlg.getData() 1847 interpreter, argv, wd, env, exceptions, clearShell, console = \
1848 dlg.getData()
1811 forkAutomatically, forkIntoChild = dlg.getRunData() 1849 forkAutomatically, forkIntoChild = dlg.getRunData()
1812 1850
1813 if runProject: 1851 if runProject:
1814 fn = self.project.getMainScript(True) 1852 fn = self.project.getMainScript(True)
1815 if fn is None: 1853 if fn is None:
1825 not self.project.saveAllScripts(reportSyntaxErrors=True): 1863 not self.project.saveAllScripts(reportSyntaxErrors=True):
1826 doNotStart = True 1864 doNotStart = True
1827 1865
1828 # save the info for later use 1866 # save the info for later use
1829 self.project.setDbgInfo( 1867 self.project.setDbgInfo(
1830 argv, wd, env, exceptions, self.excList, 1868 interpreter, argv, wd, env, exceptions, self.excList,
1831 self.excIgnoreList, clearShell) 1869 self.excIgnoreList, clearShell)
1832 1870
1833 self.lastStartAction = 4 1871 self.lastStartAction = 4
1834 self.clientType = self.project.getProjectLanguage() 1872 self.clientType = self.project.getProjectLanguage()
1835 else: 1873 else:
1851 self.lastDebuggedFile = fn 1889 self.lastDebuggedFile = fn
1852 self.restartAct.setEnabled(True) 1890 self.restartAct.setEnabled(True)
1853 1891
1854 # This moves any previous occurrence of these arguments to the head 1892 # This moves any previous occurrence of these arguments to the head
1855 # of the list. 1893 # of the list.
1894 self.setInterpreterHistory(interpreter)
1856 self.setArgvHistory(argv) 1895 self.setArgvHistory(argv)
1857 self.setWdHistory(wd) 1896 self.setWdHistory(wd)
1858 self.setEnvHistory(env) 1897 self.setEnvHistory(env)
1859 1898
1860 # Save the exception flags 1899 # Save the exception flags
1881 1920
1882 self.debugViewer.initCallStackViewer(runProject) 1921 self.debugViewer.initCallStackViewer(runProject)
1883 1922
1884 # Ask the client to open the new program. 1923 # Ask the client to open the new program.
1885 self.debugServer.remoteRun( 1924 self.debugServer.remoteRun(
1886 fn, argv, wd, env, 1925 interpreter, fn, argv, wd, env,
1887 autoClearShell=self.autoClearShell, forProject=runProject, 1926 autoClearShell=self.autoClearShell, forProject=runProject,
1888 runInConsole=console, autoFork=forkAutomatically, 1927 runInConsole=console, autoFork=forkAutomatically,
1889 forkChild=forkIntoChild, clientType=self.clientType) 1928 forkChild=forkIntoChild, clientType=self.clientType)
1890 1929
1891 self.stopAct.setEnabled(True) 1930 self.stopAct.setEnabled(True)
1892 1931
1893 if dlg.clearHistories(): 1932 if dlg.clearHistories():
1933 self.setInterpreterHistory("", clearHistories=True)
1894 self.setArgvHistory("", clearHistories=True) 1934 self.setArgvHistory("", clearHistories=True)
1895 self.setWdHistory("", clearHistories=True) 1935 self.setWdHistory("", clearHistories=True)
1896 self.setEnvHistory("", clearHistories=True) 1936 self.setEnvHistory("", clearHistories=True)
1897 elif dlg.historiesModified(): 1937 elif dlg.historiesModified():
1898 argvHistory, wdHistory, envHistory = dlg.getHistories() 1938 argvHistory, wdHistory, envHistory, interpreterHistory = \
1939 dlg.getHistories()
1940 self.setInterpreterHistory("", history=interpreterHistory)
1899 self.setArgvHistory("", history=argvHistory) 1941 self.setArgvHistory("", history=argvHistory)
1900 self.setWdHistory("", history=wdHistory) 1942 self.setWdHistory("", history=wdHistory)
1901 self.setEnvHistory("", history=envHistory) 1943 self.setEnvHistory("", history=envHistory)
1902 1944
1903 def __debugScript(self): 1945 def __debugScript(self):
1930 if debugProject: 1972 if debugProject:
1931 cap = self.tr("Debug Project") 1973 cap = self.tr("Debug Project")
1932 else: 1974 else:
1933 cap = self.tr("Debug Script") 1975 cap = self.tr("Debug Script")
1934 dlg = StartDialog( 1976 dlg = StartDialog(
1935 cap, self.argvHistory, self.wdHistory, self.envHistory, 1977 cap, self.interpreterHistory, self.argvHistory, self.wdHistory,
1936 self.exceptions, self.ui, 0, tracePython=self.tracePython, 1978 self.envHistory, self.exceptions, self.ui, 0,
1937 autoClearShell=self.autoClearShell, autoContinue=self.autoContinue, 1979 tracePython=self.tracePython, autoClearShell=self.autoClearShell,
1938 autoFork=self.forkAutomatically, forkChild=self.forkIntoChild) 1980 autoContinue=self.autoContinue, autoFork=self.forkAutomatically,
1981 forkChild=self.forkIntoChild)
1939 if dlg.exec_() == QDialog.Accepted: 1982 if dlg.exec_() == QDialog.Accepted:
1940 argv, wd, env, exceptions, clearShell, console = dlg.getData() 1983 interpreter, argv, wd, env, exceptions, clearShell, console = \
1984 dlg.getData()
1941 tracePython, autoContinue, forkAutomatically, forkIntoChild = \ 1985 tracePython, autoContinue, forkAutomatically, forkIntoChild = \
1942 dlg.getDebugData() 1986 dlg.getDebugData()
1943 1987
1944 if debugProject: 1988 if debugProject:
1945 fn = self.project.getMainScript(True) 1989 fn = self.project.getMainScript(True)
1956 not self.project.saveAllScripts(reportSyntaxErrors=True): 2000 not self.project.saveAllScripts(reportSyntaxErrors=True):
1957 doNotStart = True 2001 doNotStart = True
1958 2002
1959 # save the info for later use 2003 # save the info for later use
1960 self.project.setDbgInfo( 2004 self.project.setDbgInfo(
1961 argv, wd, env, exceptions, self.excList, 2005 interpreter, argv, wd, env, exceptions, self.excList,
1962 self.excIgnoreList, clearShell, tracePython=tracePython, 2006 self.excIgnoreList, clearShell, tracePython=tracePython,
1963 autoContinue=self.autoContinue) 2007 autoContinue=self.autoContinue)
1964 2008
1965 self.lastStartAction = 2 2009 self.lastStartAction = 2
1966 self.clientType = self.project.getProjectLanguage() 2010 self.clientType = self.project.getProjectLanguage()
1983 self.lastDebuggedFile = fn 2027 self.lastDebuggedFile = fn
1984 self.restartAct.setEnabled(True) 2028 self.restartAct.setEnabled(True)
1985 2029
1986 # This moves any previous occurrence of these arguments to the head 2030 # This moves any previous occurrence of these arguments to the head
1987 # of the list. 2031 # of the list.
2032 self.setInterpreterHistory(interpreter)
1988 self.setArgvHistory(argv) 2033 self.setArgvHistory(argv)
1989 self.setWdHistory(wd) 2034 self.setWdHistory(wd)
1990 self.setEnvHistory(env) 2035 self.setEnvHistory(env)
1991 2036
1992 # Save the exception flags 2037 # Save the exception flags
2025 self.debugViewer.clearCallTrace() 2070 self.debugViewer.clearCallTrace()
2026 self.debugViewer.setCallTraceToProjectMode(debugProject) 2071 self.debugViewer.setCallTraceToProjectMode(debugProject)
2027 2072
2028 # Ask the client to open the new program. 2073 # Ask the client to open the new program.
2029 self.debugServer.remoteLoad( 2074 self.debugServer.remoteLoad(
2030 fn, argv, wd, env, 2075 interpreter, fn, argv, wd, env,
2031 autoClearShell=self.autoClearShell, 2076 autoClearShell=self.autoClearShell,
2032 tracePython=tracePython, 2077 tracePython=tracePython,
2033 autoContinue=autoContinue, forProject=debugProject, 2078 autoContinue=autoContinue, forProject=debugProject,
2034 runInConsole=console, autoFork=forkAutomatically, 2079 runInConsole=console, autoFork=forkAutomatically,
2035 forkChild=forkIntoChild, clientType=self.clientType, 2080 forkChild=forkIntoChild, clientType=self.clientType,
2039 self.debuggingStarted.emit(fn) 2084 self.debuggingStarted.emit(fn)
2040 2085
2041 self.stopAct.setEnabled(True) 2086 self.stopAct.setEnabled(True)
2042 2087
2043 if dlg.clearHistories(): 2088 if dlg.clearHistories():
2089 self.setInterpreterHistory("", clearHistories=True)
2044 self.setArgvHistory("", clearHistories=True) 2090 self.setArgvHistory("", clearHistories=True)
2045 self.setWdHistory("", clearHistories=True) 2091 self.setWdHistory("", clearHistories=True)
2046 self.setEnvHistory("", clearHistories=True) 2092 self.setEnvHistory("", clearHistories=True)
2047 elif dlg.historiesModified(): 2093 elif dlg.historiesModified():
2048 argvHistory, wdHistory, envHistory = dlg.getHistories() 2094 argvHistory, wdHistory, envHistory, interpreterHistory = \
2095 dlg.getHistories()
2096 self.setInterpreterHistory("", history=interpreterHistory)
2049 self.setArgvHistory("", history=argvHistory) 2097 self.setArgvHistory("", history=argvHistory)
2050 self.setWdHistory("", history=wdHistory) 2098 self.setWdHistory("", history=wdHistory)
2051 self.setEnvHistory("", history=envHistory) 2099 self.setEnvHistory("", history=envHistory)
2052 2100
2053 def __doRestart(self): 2101 def __doRestart(self):
2074 forProject = True 2122 forProject = True
2075 else: 2123 else:
2076 return # should not happen 2124 return # should not happen
2077 2125
2078 # get the saved stuff 2126 # get the saved stuff
2127 interpreter = self.interpreterHistory[0]
2079 wd = self.wdHistory[0] 2128 wd = self.wdHistory[0]
2080 argv = self.argvHistory[0] 2129 argv = self.argvHistory[0]
2081 fn = self.lastDebuggedFile 2130 fn = self.lastDebuggedFile
2082 env = self.envHistory[0] 2131 env = self.envHistory[0]
2083 2132
2098 self.debugViewer.clearCallTrace() 2147 self.debugViewer.clearCallTrace()
2099 self.debugViewer.setCallTraceToProjectMode(forProject) 2148 self.debugViewer.setCallTraceToProjectMode(forProject)
2100 2149
2101 # Ask the client to debug the new program. 2150 # Ask the client to debug the new program.
2102 self.debugServer.remoteLoad( 2151 self.debugServer.remoteLoad(
2103 fn, argv, wd, env, 2152 interpreter, fn, argv, wd, env,
2104 autoClearShell=self.autoClearShell, 2153 autoClearShell=self.autoClearShell,
2105 tracePython=self.tracePython, 2154 tracePython=self.tracePython,
2106 autoContinue=self.autoContinue, 2155 autoContinue=self.autoContinue,
2107 forProject=forProject, 2156 forProject=forProject,
2108 runInConsole=self.runInConsole, 2157 runInConsole=self.runInConsole,
2115 self.debuggingStarted.emit(fn) 2164 self.debuggingStarted.emit(fn)
2116 2165
2117 elif self.lastStartAction in [3, 4]: 2166 elif self.lastStartAction in [3, 4]:
2118 # Ask the client to run the new program. 2167 # Ask the client to run the new program.
2119 self.debugServer.remoteRun( 2168 self.debugServer.remoteRun(
2120 fn, argv, wd, env, 2169 interpreter, fn, argv, wd, env,
2121 autoClearShell=self.autoClearShell, 2170 autoClearShell=self.autoClearShell,
2122 forProject=forProject, 2171 forProject=forProject,
2123 runInConsole=self.runInConsole, 2172 runInConsole=self.runInConsole,
2124 autoFork=self.forkAutomatically, 2173 autoFork=self.forkAutomatically,
2125 forkChild=self.forkIntoChild, 2174 forkChild=self.forkIntoChild,
2126 clientType=self.clientType) 2175 clientType=self.clientType)
2127 2176
2128 elif self.lastStartAction in [5, 6]: 2177 elif self.lastStartAction in [5, 6]:
2129 # Ask the client to coverage run the new program. 2178 # Ask the client to coverage run the new program.
2130 self.debugServer.remoteCoverage( 2179 self.debugServer.remoteCoverage(
2131 fn, argv, wd, env, 2180 interpreter, fn, argv, wd, env,
2132 autoClearShell=self.autoClearShell, 2181 autoClearShell=self.autoClearShell,
2133 erase=self.eraseCoverage, 2182 erase=self.eraseCoverage,
2134 forProject=forProject, 2183 forProject=forProject,
2135 runInConsole=self.runInConsole, 2184 runInConsole=self.runInConsole,
2136 clientType=self.clientType) 2185 clientType=self.clientType)
2137 2186
2138 elif self.lastStartAction in [7, 8]: 2187 elif self.lastStartAction in [7, 8]:
2139 # Ask the client to profile run the new program. 2188 # Ask the client to profile run the new program.
2140 self.debugServer.remoteProfile( 2189 self.debugServer.remoteProfile(
2141 fn, argv, wd, env, 2190 interpreter, fn, argv, wd, env,
2142 autoClearShell=self.autoClearShell, 2191 autoClearShell=self.autoClearShell,
2143 erase=self.eraseTimings, 2192 erase=self.eraseTimings,
2144 forProject=forProject, 2193 forProject=forProject,
2145 runInConsole=self.runInConsole, 2194 runInConsole=self.runInConsole,
2146 clientType=self.clientType) 2195 clientType=self.clientType)

eric ide

mercurial