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 |
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 |