2017-10-12 18 views
1

私のiMacでは、エラーのあるPythonスクリプト(MAC OS Sierra上)を実行しているデバッガは、常に例外の原因として最初のアクティブなコード行を指しています。正しい行が識別されます。なぜ誰が考えているのでしょうか? python exception_test.pyで、それはpython pdbが例外で正しいトレースを与えていない

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' 
を生み出すよう、デバッガなしで実行すると

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

スクリプトexception_test.py:ここ

は、 "ファイルが見つかりません" 例外を除いて、簡単な例を示します

正しい行を識別する、すなわち、line6、 、python -m pdb exception_test.py、および連続するcコードの最初のアクティブラインを示す

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 

、すなわちライン2

+0

あなたのpythonソースコードファイルの名前は何ですか? –

+0

exception_test.py – momme

答えて

0

それはpypyが正しいトレースバック行番号を印刷することができ、より多くの可能性はCPythonとPDBの問題ではなく、あなたのコードです。

frameline_no例外が発生したのは、-m pdbです。

いくつかの推測およびトレースの後、私はthis pathに絞り込むことができます:

sys.settrace(self.trace_dispatch) 
    -> trace_dispatch() -> dispatch_line() -> user_line() -> interaction() 

本当の根本的な原因はまだ明らかではありません。

関連する問題