How to debug python script that is crashing python

21,580

So there are no exceptions in the log? It just exits randomly at different spots?

To see every statement as it's executed, use the trace module:

python -u -m trace -t program.py

To run the program in the debugger, use pdb:

python -m pdb program.py

With those two you should be able to see if it's something within the program causing it to exit. If you don't see any evidence or pattern then it could be something outside of the program causing it to die.

On Linux I would also try running the program with strace and watching for the OOM killer or segfaults. Not sure what similar steps would be in Windows, Windows doesn't have an OOM killer.

Share:
21,580
Gern Blanston
Author by

Gern Blanston

Code monkey

Updated on July 09, 2022

Comments

  • Gern Blanston
    Gern Blanston almost 2 years

    I'm trying to help debug a python script that is causing python (2.7) itself to crashes.

    • The script logs some info to a file and it ends at a different stop on each run, or at least what it writes out is at a different spot.
    • The script already have a try\catch's.
    • The script has worked previously without errors
    • This is on Window 2008 servers, with a fair bit of RAM and when run not much CPU usage.

    So my question:

    • Are there tools or techniques that could help?
      • I see that there is a pdb module I could import but not sure if that would help this issue.
    • When a py script crashes python itself how would you debug that?

    GB

  • khampson
    khampson over 9 years
    I'd recommend swapping pdb with PuDB. It's a nice hybrid between pure console debugger and a more IDE-like debugger, all within the console environment. On Windows, for memory, it'd probably be something like Resource Monitor or perhaps the more advanced Process Monitor.