Most core dumps that I make are caused by one of two things:
1. Not terminating strings, or processing strings (char arrays) outside the array bounds.
2. Passing a variable into a function that requires a pointer to that variable. i.e. use &var instead of var in the function call.
Give your code the once over to see if it is one of the above two.
Core dumps can be difficult to deal with because the program is stopped in its tracks and the point of failure might not be your bug - that is probably elsewhere.
If you don't have access to a debugger then, identifying the line of code the program fails on, will go a long way to solving the issue. Use a log file or printf statements to locate the point at which the program core dumps. It you get a log message, then you know your program is still alive. It shouldn't take too long to locate the problem.