Debug script under pdb, how to avoid a bunch of errors caused by the exit()?
On Thu, 6 Sep 2018 at 10:59, Jach Fong <jfong at ms4.hinet.net> wrote:
> Here the script file, test0.py:
> password = 'bad'
> if password == 'bad':
> print('bad password')
> print('good password')
> print('something else to do')
> When running it under Python3.4 Windows Vista, no problem at all.
> D:\Works\Python>py test0.py
> bad password
> But if debug it under pdb:
> D:\Works\Python>py -m pdb test0.py
> ValueError: I/O operation on closed file.
> Uncaught exception. Entering post mortem debugging
> How to get rid of these?
I haven't noticed this behaviour before but then I normally use
functions rather than writing my code at top level and quitting with
exit(). If I had written your script then it might look something
password = 'bad'
if password == 'bad':
return # <-- Not exit()
print('something else to do')
if __name__ == "__main__":
Now since you're no longer using exit() to end the program it doesn't
need to screw up pdb.