DebugClients/Python/DebugClientBase.py

changeset 107
918a6be6f051
parent 72
015c7e35bd84
child 126
7902c9178ee0
equal deleted inserted replaced
106:94c7385cf685 107:918a6be6f051
466 self.fncache = {} 466 self.fncache = {}
467 self.dircache = [] 467 self.dircache = []
468 sys.argv = [] 468 sys.argv = []
469 wd, fn, args, tracePython = arg.split('|') 469 wd, fn, args, tracePython = arg.split('|')
470 self.__setCoding(fn) 470 self.__setCoding(fn)
471 try:
472 sys.setappdefaultencoding(self.__coding)
473 except AttributeError:
474 pass
475 sys.argv.append(fn) 471 sys.argv.append(fn)
476 sys.argv.extend(eval(args)) 472 sys.argv.extend(eval(args))
477 sys.path = self.__getSysPath(os.path.dirname(sys.argv[0])) 473 sys.path = self.__getSysPath(os.path.dirname(sys.argv[0]))
478 if wd == '': 474 if wd == '':
479 os.chdir(sys.path[1]) 475 os.chdir(sys.path[1])
511 507
512 if cmd == RequestRun: 508 if cmd == RequestRun:
513 sys.argv = [] 509 sys.argv = []
514 wd, fn, args = arg.split('|') 510 wd, fn, args = arg.split('|')
515 self.__setCoding(fn) 511 self.__setCoding(fn)
516 try:
517 sys.setappdefaultencoding(self.__coding)
518 except AttributeError:
519 pass
520 sys.argv.append(fn) 512 sys.argv.append(fn)
521 sys.argv.extend(eval(args)) 513 sys.argv.extend(eval(args))
522 sys.path = self.__getSysPath(os.path.dirname(sys.argv[0])) 514 sys.path = self.__getSysPath(os.path.dirname(sys.argv[0]))
523 if wd == '': 515 if wd == '':
524 os.chdir(sys.path[1]) 516 os.chdir(sys.path[1])
548 if cmd == RequestCoverage: 540 if cmd == RequestCoverage:
549 from coverage import coverage 541 from coverage import coverage
550 sys.argv = [] 542 sys.argv = []
551 wd, fn, args, erase = arg.split('@@') 543 wd, fn, args, erase = arg.split('@@')
552 self.__setCoding(fn) 544 self.__setCoding(fn)
553 try:
554 sys.setappdefaultencoding(self.__coding)
555 except AttributeError:
556 pass
557 sys.argv.append(fn) 545 sys.argv.append(fn)
558 sys.argv.extend(eval(args)) 546 sys.argv.extend(eval(args))
559 sys.path = self.__getSysPath(os.path.dirname(sys.argv[0])) 547 sys.path = self.__getSysPath(os.path.dirname(sys.argv[0]))
560 if wd == '': 548 if wd == '':
561 os.chdir(sys.path[1]) 549 os.chdir(sys.path[1])
586 sys.setprofile(None) 574 sys.setprofile(None)
587 import PyProfile 575 import PyProfile
588 sys.argv = [] 576 sys.argv = []
589 wd, fn, args, erase = arg.split('|') 577 wd, fn, args, erase = arg.split('|')
590 self.__setCoding(fn) 578 self.__setCoding(fn)
591 try:
592 sys.setappdefaultencoding(self.__coding)
593 except AttributeError:
594 pass
595 sys.argv.append(fn) 579 sys.argv.append(fn)
596 sys.argv.extend(eval(args)) 580 sys.argv.extend(eval(args))
597 sys.path = self.__getSysPath(os.path.dirname(sys.argv[0])) 581 sys.path = self.__getSysPath(os.path.dirname(sys.argv[0]))
598 if wd == '': 582 if wd == '':
599 os.chdir(sys.path[1]) 583 os.chdir(sys.path[1])
1184 self.running = None 1168 self.running = None
1185 self.write('%s%d\n' % (ResponseExit,status)) 1169 self.write('%s%d\n' % (ResponseExit,status))
1186 1170
1187 # reset coding 1171 # reset coding
1188 self.__coding = self.defaultCoding 1172 self.__coding = self.defaultCoding
1189 try:
1190 sys.setappdefaultencoding(self.defaultCoding)
1191 except AttributeError:
1192 pass
1193 1173
1194 def __dumpVariables(self, frmnr, scope, filter): 1174 def __dumpVariables(self, frmnr, scope, filter):
1195 """ 1175 """
1196 Private method to return the variables of a frame to the debug server. 1176 Private method to return the variables of a frame to the debug server.
1197 1177
1705 self.running = os.path.abspath(sys.argv[0]) 1685 self.running = os.path.abspath(sys.argv[0])
1706 except IndexError: 1686 except IndexError:
1707 self.running = None 1687 self.running = None
1708 if self.running: 1688 if self.running:
1709 self.__setCoding(self.running) 1689 self.__setCoding(self.running)
1710 try:
1711 sys.setappdefaultencoding(self.defaultCoding)
1712 except AttributeError:
1713 pass
1714 self.passive = 1 1690 self.passive = 1
1715 self.write("%s%s|%d\n" % (PassiveStartup, self.running, exceptions)) 1691 self.write("%s%s|%d\n" % (PassiveStartup, self.running, exceptions))
1716 self.__interact() 1692 self.__interact()
1717 1693
1718 # setup the debugger variables 1694 # setup the debugger variables
1764 os.chdir(sys.path[1]) 1740 os.chdir(sys.path[1])
1765 else: 1741 else:
1766 os.chdir(wd) 1742 os.chdir(wd)
1767 self.running = sys.argv[0] 1743 self.running = sys.argv[0]
1768 self.__setCoding(self.running) 1744 self.__setCoding(self.running)
1769 try:
1770 sys.setappdefaultencoding(self.__coding)
1771 except AttributeError:
1772 pass
1773 self.mainFrame = None 1745 self.mainFrame = None
1774 self.inRawMode = 0 1746 self.inRawMode = 0
1775 self.debugging = 1 1747 self.debugging = 1
1776 1748
1777 self.passive = 1 1749 self.passive = 1
1872 if not args: 1844 if not args:
1873 print "No program given. Aborting!" 1845 print "No program given. Aborting!"
1874 else: 1846 else:
1875 if not self.noencoding: 1847 if not self.noencoding:
1876 self.__coding = self.defaultCoding 1848 self.__coding = self.defaultCoding
1877 try:
1878 sys.setappdefaultencoding(self.defaultCoding)
1879 except AttributeError:
1880 pass
1881 self.startProgInDebugger(args, wd, host, port, 1849 self.startProgInDebugger(args, wd, host, port,
1882 exceptions=exceptions, tracePython=tracePython, 1850 exceptions=exceptions, tracePython=tracePython,
1883 redirect=redirect) 1851 redirect=redirect)
1884 else: 1852 else:
1885 if sys.argv[1] == '--no-encoding': 1853 if sys.argv[1] == '--no-encoding':
1909 if not '' in sys.path: 1877 if not '' in sys.path:
1910 sys.path.insert(0, '') 1878 sys.path.insert(0, '')
1911 if port >= 0: 1879 if port >= 0:
1912 if not self.noencoding: 1880 if not self.noencoding:
1913 self.__coding = self.defaultCoding 1881 self.__coding = self.defaultCoding
1914 try:
1915 sys.setappdefaultencoding(self.defaultCoding)
1916 except AttributeError:
1917 pass
1918 self.connectDebugger(port, remoteAddress, redirect) 1882 self.connectDebugger(port, remoteAddress, redirect)
1919 self.__interact() 1883 self.__interact()
1920 else: 1884 else:
1921 print "No network port given. Aborting..." 1885 print "No network port given. Aborting..."
1922 1886

eric ide

mercurial