3
我有一個python(版本2.7.6)程序,它在昨天晚上運行了一兩天時報告了一些錯誤。但是,堆棧跟蹤顯然是錯誤的。假裝我的代碼是這樣的:我的堆棧軌跡中的行號怎麼會出錯?
def do_A():
do_some_stuff()
do_B()
def do_B():
do_some_IO_that_could_fail()
def do_C():
if len('abc'):
do_D()
def do_D():
do_other_stuff()
if __name__ == '__main__':
do_A()
可能出現故障確實失敗了,的任務,但我的堆棧跟蹤是這樣:
Traceback (most recent call last):
File "myfile.py", line 16, in <module>
do_A()
File "myfile.py", line 9, in do_A
if len('abc'):
File "myfile.py", line 13, in do_B
do_other_stuff()
CustomFailureException: "The thing that can fail? It failed."
在我的堆棧跟蹤,「在... 「部分是合理的,因爲它們描述的路徑實際上可以到達我的代碼中具有CustomFailureException
的部分。行號和它顯示的代碼是一致的(即它表示第9行,並且代碼位於第9行),但它是錯誤的行。
有沒有人有任何線索如何可能發生在我的堆棧跟蹤?
注意:這個特殊的任務每天晚上都會運行一段時間。它通常成功完成,但之前失敗並給出正常的堆棧跟蹤。昨天晚上,它始終失敗,始終給出相同的錯誤堆棧跟蹤。
看看最近對我的文件所做的更改(謝謝Git!),並且減少了之前在文件中添加的行數,我找到了正確的路線。我想我更新代碼後忘了實際重新啓動我的程序。無論如何,我希望對這種奇怪的行爲有一個相對簡單的解釋。 –
有沒有這個現象的名稱或谷歌更多的方式?儘管重新運行Python,但我有一個相關的bug(使用舊版本)。或許問題出在你說的緩存上,但不知道如何去谷歌它 – Gilly
你沒有給我足夠的信息來認識你的問題,但我嚴重懷疑任何連接 – strubbly