Have you run your program under the debugger and looked at the traceback when whatever you mean by "app crash" occurs? Are you under Linux with core dumps? That is always by far the best place to start from.
If no core dumps and you can't run under debugger (e.g. it runs unattended overnight), what about putting in extensive but basic logging lines (to file) to see where it's going?