Defining debug gives much more information during a run. The additional information is written to stderr and might help to find out where the program crashes. Mind, that the use of a debugger is usually much faster to find out where things went wrong, but on some parallel machines debugger are not fully supported.