Like the others said your best bet is to get a core dump file for the application. You can then step through the core dumb with gdb to find where your crash is happening. Since it is a 8hr run odds are you have a memory leak somewhere as if it was a null pointer being accessed it would probably crash much much sooner. Read the man pages for core as it will explain how you use it if you are not getting actual core dumps. The general gist of coredumps is you can set a dumpfile and start your daemon and when it crashes it will write the report to that file. Sadly it is really the only way on linux to solve the problem besides invoking the daemon attached to GDB.
There is actually another option besides the above but I don't know how useful it will be for this situation. The command is called strace.
You can run strace -o /path/to/output.txt /path/to/daemon
The command will log everything that application does including the crash. It would give you reason for the crash but not the exact execution point of the crash.