DebugClients/Python3/DebugClientBase.py

changeset 692
5c2d7b6d47cb
parent 406
eacf81fad150
child 723
49ef401db2ce
equal deleted inserted replaced
690:a2f8b36625e6 692:5c2d7b6d47cb
336 336
337 @param filename name of the source file (string) 337 @param filename name of the source file (string)
338 @param mode kind of code to be generated (string, exec or eval) 338 @param mode kind of code to be generated (string, exec or eval)
339 @return compiled code object (None in case of errors) 339 @return compiled code object (None in case of errors)
340 """ 340 """
341 with open(filename) as fp: 341 with open(filename, encoding = self.__coding) as fp:
342 statement = fp.read() 342 statement = fp.read()
343 343
344 try: 344 try:
345 code = compile(statement + '\n', filename, mode) 345 code = compile(statement + '\n', filename, mode)
346 except SyntaxError: 346 except SyntaxError:
518 518
519 self.mainThread.tracePython = False 519 self.mainThread.tracePython = False
520 520
521 self.debugMod.__dict__['__file__'] = sys.argv[0] 521 self.debugMod.__dict__['__file__'] = sys.argv[0]
522 sys.modules['__main__'] = self.debugMod 522 sys.modules['__main__'] = self.debugMod
523 exec(open(sys.argv[0]).read(), self.debugMod.__dict__) 523 exec(open(sys.argv[0], encoding = self.__coding).read(),
524 self.debugMod.__dict__)
524 self.writestream.flush() 525 self.writestream.flush()
525 return 526 return
526 527
527 if cmd == RequestProfile: 528 if cmd == RequestProfile:
528 sys.setprofile(None) 529 sys.setprofile(None)
547 548
548 if int(erase): 549 if int(erase):
549 self.prof.erase() 550 self.prof.erase()
550 self.debugMod.__dict__['__file__'] = sys.argv[0] 551 self.debugMod.__dict__['__file__'] = sys.argv[0]
551 sys.modules['__main__'] = self.debugMod 552 sys.modules['__main__'] = self.debugMod
552 fp = open(sys.argv[0]) 553 fp = open(sys.argv[0], encoding = self.__coding)
553 try: 554 try:
554 script = fp.read() 555 script = fp.read()
555 finally: 556 finally:
556 fp.close() 557 fp.close()
557 if script: 558 if script:
585 if int(erase): 586 if int(erase):
586 self.cover.erase() 587 self.cover.erase()
587 sys.modules['__main__'] = self.debugMod 588 sys.modules['__main__'] = self.debugMod
588 self.debugMod.__dict__['__file__'] = sys.argv[0] 589 self.debugMod.__dict__['__file__'] = sys.argv[0]
589 self.cover.start() 590 self.cover.start()
590 exec(open(sys.argv[0]).read(), self.debugMod.__dict__) 591 exec(open(sys.argv[0], encoding = self.__coding).read(),
592 self.debugMod.__dict__)
591 self.cover.stop() 593 self.cover.stop()
592 self.cover.save() 594 self.cover.save()
593 self.writestream.flush() 595 self.writestream.flush()
594 return 596 return
595 597

eric ide

mercurial