I suggest you download the excellent (and free) Y-Tasks application from http://www.drjukka.com/YTasks.html
Y-Tasks has a "Crash Monitor" module which displays information about whether a process exited normally, or whether it had to be "killed". It also displays the exit code (error code) returned by the process when it terminated.
Once you have the return code, (for example, "KERN-EXEC 3") you can refer to the documentation or the NewLC link posted by ruibm, for explanation of the error code. This should help you understand the problem.
For a quick and easy reference to the error codes, you can also use the "Panic Lookup" plugin for Carbide. (Google for it; as I'm a new user, I am only allowed to include 1 link per post.)