我有一個長時間運行的Python程序,在某些時候會引發異常。有沒有辦法從ipython會話運行此並停止異常,所以我可以檢查實時數據?在ipython異常中停止執行Python程序
2
A
回答
3
您可能需要ipython -i yourscript.py
,它將在解釋器環境中執行腳本。但是這不會讓你檢查發生異常的本地環境,例如函數中的局部變量 - 你只能檢查全局變量。你可能想這個:
In [1]: %run test.py
<exception occurs>
In [2]: %debug test.py
如果你不熟悉使用PDB,請some docs第一。
編輯感謝托馬斯K
0
是的,這取決於你如何設置。你可以導入你的程序並像其他模塊一樣在try塊內運行。
import yourprogram
try:
yourprogram.main_function(args)
except:
print "we blew up, investigate why"
如果您的程序不在函數中,您可能需要將try塊放在導入區域。
這種方法的問題是您想要查看的變量可能不再在範圍內。我通常在不同的地方使用打印語句或日誌消息來找出看起來不像我期待的東西。
+0
如果您採用這種方法,至少應打印出異常和堆棧跟蹤 - 這些通常比「我們炸燬」更有用。 – Thomas 2013-02-08 22:52:12
相關問題
- 1. 如何在R中捕捉異常不停止執行程序?
- 2. android cts執行中途停止異常
- 3. java小程序停止運行異常
- 4. ipython 5.1.0在執行輸入後停止
- 5. Python:如何在異常停止後繼續執行try語句
- 6. C# - 句柄異常並停止執行
- 7. 停止執行worklight程序
- 8. Angularjs停止程序執行
- 9. python停止異常通過
- 10. python程序在命令行中停止
- 11. 如何在IDLE中停止Python程序執行
- 12. 程序不會異常後停止
- 13. 異常不停止應用程序
- 14. 如何停止fortran程序異常
- 15. 程序執行在scanf處停止?
- 16. 在Python 2.7中立即停止線程執行/終止
- 17. 停止IPython中從尋找在〜/ .ipython
- 18. 在Python C API代碼中引發異常並暫停執行
- 19. 從ipython運行python程序
- 20. 停止python程序
- 21. 在執行過程中停止IO.popen,使用異常情況不佳
- 22. Python程序終止處理異常
- 23. Quartz作業停止在StaleObjectStateException異常處執行
- 24. 異常停止執行,即使在try-catch塊內
- 25. C++ clr異常處理正在停止執行
- 26. django中的異常停止流程?
- 27. Trace32程序停止時執行腳本
- 28. 任務執行程序不停止
- 29. Mysqli錯誤會停止程序執行
- 30. curl_exec是否停止程序執行?
或者,當你運行一個程序並引發錯誤時,只需調用'%debug'跳轉到調試器。同樣的效果,但你不需要提前計劃。 – 2013-02-08 18:55:30
哇,太棒了! – Thomas 2013-02-08 22:52:48