Sur mon iMac, le débogueur, exécutant un script python défectueux (sur MAC OS Sierra), pointe toujours vers la première ligne de code active comme cause d'une exception, lors du lancement sans débogueur la ligne correcte est identifiée. Est-ce que quelqu'un a une idée de pourquoi cela peut se produire et comment y remédier?python pdb ne donne pas la trace correcte sur les exceptions
Voici un exemple simple avec une exception "File not found":
Le script exception_test.py:
1 # Some dummy lines...
2 a=1
3 b=2
4 c=a+b
5 # Lines casuing the exception:
6 with open("filename","r") as fid:
7 lines=fid.readlines()
Lorsqu'il est exécuté sans débogueur, comme dans python exception_test.py
il donne
Traceback (most recent call last):
File "exception_test.py", line 6, in <module>
with open("filename","r") as fid:
IOError: [Errno 2] No such file or directory: 'filename'
identifiant la ligne correcte, à savoir line6, tandis que python -m pdb exception_test.py
et successives c
pour continuer les rendements
Traceback (most recent call last):
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/pdb.py", line 1314, in main
pdb._runscript(mainpyfile)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/pdb.py", line 1233, in _runscript
self.run(statement)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/bdb.py", line 400, in run
exec cmd in globals, locals
File "<string>", line 1, in <module>
File "exception_test.py", line 2, in <module>
a=1
IOError: [Errno 2] No such file or directory: 'filename'
Uncaught exception. Entering post mortem debugging
indiquant la première ligne active de code, à savoir la ligne 2.
Quel est le nom de votre fichier de code source Python? –
exception_test.py – momme