452 self.fncache = {} |
452 self.fncache = {} |
453 self.dircache = [] |
453 self.dircache = [] |
454 sys.argv = [] |
454 sys.argv = [] |
455 wd, fn, args, tracePython = arg.split('|') |
455 wd, fn, args, tracePython = arg.split('|') |
456 self.__setCoding(fn) |
456 self.__setCoding(fn) |
457 try: |
|
458 sys.setappdefaultencoding(self.__coding) |
|
459 except AttributeError: |
|
460 pass |
|
461 sys.argv.append(fn) |
457 sys.argv.append(fn) |
462 sys.argv.extend(eval(args.replace("u'", "'"))) |
458 sys.argv.extend(eval(args.replace("u'", "'"))) |
463 sys.path = self.__getSysPath(os.path.dirname(sys.argv[0])) |
459 sys.path = self.__getSysPath(os.path.dirname(sys.argv[0])) |
464 if wd == '': |
460 if wd == '': |
465 os.chdir(sys.path[1]) |
461 os.chdir(sys.path[1]) |
498 |
494 |
499 if cmd == RequestRun: |
495 if cmd == RequestRun: |
500 sys.argv = [] |
496 sys.argv = [] |
501 wd, fn, args = arg.split('|') |
497 wd, fn, args = arg.split('|') |
502 self.__setCoding(fn) |
498 self.__setCoding(fn) |
503 try: |
|
504 sys.setappdefaultencoding(self.__coding) |
|
505 except AttributeError: |
|
506 pass |
|
507 sys.argv.append(fn) |
499 sys.argv.append(fn) |
508 sys.argv.extend(eval(args.replace("u'", "'"))) |
500 sys.argv.extend(eval(args.replace("u'", "'"))) |
509 sys.path = self.__getSysPath(os.path.dirname(sys.argv[0])) |
501 sys.path = self.__getSysPath(os.path.dirname(sys.argv[0])) |
510 if wd == '': |
502 if wd == '': |
511 os.chdir(sys.path[1]) |
503 os.chdir(sys.path[1]) |
536 sys.setprofile(None) |
528 sys.setprofile(None) |
537 import PyProfile |
529 import PyProfile |
538 sys.argv = [] |
530 sys.argv = [] |
539 wd, fn, args, erase = arg.split('|') |
531 wd, fn, args, erase = arg.split('|') |
540 self.__setCoding(fn) |
532 self.__setCoding(fn) |
541 try: |
|
542 sys.setappdefaultencoding(self.__coding) |
|
543 except AttributeError: |
|
544 pass |
|
545 sys.argv.append(fn) |
533 sys.argv.append(fn) |
546 sys.argv.extend(eval(args.replace("u'", "'"))) |
534 sys.argv.extend(eval(args.replace("u'", "'"))) |
547 sys.path = self.__getSysPath(os.path.dirname(sys.argv[0])) |
535 sys.path = self.__getSysPath(os.path.dirname(sys.argv[0])) |
548 if wd == '': |
536 if wd == '': |
549 os.chdir(sys.path[1]) |
537 os.chdir(sys.path[1]) |
575 if cmd == RequestCoverage: |
563 if cmd == RequestCoverage: |
576 from coverage import coverage |
564 from coverage import coverage |
577 sys.argv = [] |
565 sys.argv = [] |
578 wd, fn, args, erase = arg.split('@@') |
566 wd, fn, args, erase = arg.split('@@') |
579 self.__setCoding(fn) |
567 self.__setCoding(fn) |
580 try: |
|
581 sys.setappdefaultencoding(self.__coding) |
|
582 except AttributeError: |
|
583 pass |
|
584 sys.argv.append(fn) |
568 sys.argv.append(fn) |
585 sys.argv.extend(eval(args.replace("u'", "'"))) |
569 sys.argv.extend(eval(args.replace("u'", "'"))) |
586 sys.path = self.__getSysPath(os.path.dirname(sys.argv[0])) |
570 sys.path = self.__getSysPath(os.path.dirname(sys.argv[0])) |
587 if wd == '': |
571 if wd == '': |
588 os.chdir(sys.path[1]) |
572 os.chdir(sys.path[1]) |
1182 self.running = None |
1166 self.running = None |
1183 self.write('{0}{1:d}\n'.format(ResponseExit, status)) |
1167 self.write('{0}{1:d}\n'.format(ResponseExit, status)) |
1184 |
1168 |
1185 # reset coding |
1169 # reset coding |
1186 self.__coding = self.defaultCoding |
1170 self.__coding = self.defaultCoding |
1187 try: |
|
1188 sys.setappdefaultencoding(self.defaultCoding) |
|
1189 except AttributeError: |
|
1190 pass |
|
1191 |
1171 |
1192 def __dumpVariables(self, frmnr, scope, filter): |
1172 def __dumpVariables(self, frmnr, scope, filter): |
1193 """ |
1173 """ |
1194 Private method to return the variables of a frame to the debug server. |
1174 Private method to return the variables of a frame to the debug server. |
1195 |
1175 |
1724 self.running = os.path.abspath(sys.argv[0]) |
1704 self.running = os.path.abspath(sys.argv[0]) |
1725 except IndexError: |
1705 except IndexError: |
1726 self.running = None |
1706 self.running = None |
1727 if self.running: |
1707 if self.running: |
1728 self.__setCoding(self.running) |
1708 self.__setCoding(self.running) |
1729 try: |
|
1730 sys.setappdefaultencoding(self.defaultCoding) |
|
1731 except AttributeError: |
|
1732 pass |
|
1733 self.passive = True |
1709 self.passive = True |
1734 self.write("{0}{1}|{2:d}\n".format(PassiveStartup, self.running, exceptions)) |
1710 self.write("{0}{1}|{2:d}\n".format(PassiveStartup, self.running, exceptions)) |
1735 self.__interact() |
1711 self.__interact() |
1736 |
1712 |
1737 # setup the debugger variables |
1713 # setup the debugger variables |
1783 os.chdir(sys.path[1]) |
1759 os.chdir(sys.path[1]) |
1784 else: |
1760 else: |
1785 os.chdir(wd) |
1761 os.chdir(wd) |
1786 self.running = sys.argv[0] |
1762 self.running = sys.argv[0] |
1787 self.__setCoding(self.running) |
1763 self.__setCoding(self.running) |
1788 try: |
|
1789 sys.setappdefaultencoding(self.__coding) |
|
1790 except AttributeError: |
|
1791 pass |
|
1792 self.mainFrame = None |
1764 self.mainFrame = None |
1793 self.inRawMode = False |
1765 self.inRawMode = False |
1794 self.debugging = True |
1766 self.debugging = True |
1795 |
1767 |
1796 self.passive = True |
1768 self.passive = True |
1891 if not args: |
1863 if not args: |
1892 print("No program given. Aborting!") |
1864 print("No program given. Aborting!") |
1893 else: |
1865 else: |
1894 if not self.noencoding: |
1866 if not self.noencoding: |
1895 self.__coding = self.defaultCoding |
1867 self.__coding = self.defaultCoding |
1896 try: |
|
1897 sys.setappdefaultencoding(self.defaultCoding) |
|
1898 except AttributeError: |
|
1899 pass |
|
1900 self.startProgInDebugger(args, wd, host, port, |
1868 self.startProgInDebugger(args, wd, host, port, |
1901 exceptions = exceptions, |
1869 exceptions = exceptions, |
1902 tracePython = tracePython, |
1870 tracePython = tracePython, |
1903 redirect = redirect) |
1871 redirect = redirect) |
1904 else: |
1872 else: |
1929 if not '' in sys.path: |
1897 if not '' in sys.path: |
1930 sys.path.insert(0, '') |
1898 sys.path.insert(0, '') |
1931 if port >= 0: |
1899 if port >= 0: |
1932 if not self.noencoding: |
1900 if not self.noencoding: |
1933 self.__coding = self.defaultCoding |
1901 self.__coding = self.defaultCoding |
1934 try: |
|
1935 sys.setappdefaultencoding(self.defaultCoding) |
|
1936 except AttributeError: |
|
1937 pass |
|
1938 self.connectDebugger(port, remoteAddress, redirect) |
1902 self.connectDebugger(port, remoteAddress, redirect) |
1939 self.__interact() |
1903 self.__interact() |
1940 else: |
1904 else: |
1941 print("No network port given. Aborting...") |
1905 print("No network port given. Aborting...") |
1942 |
1906 |