I used log too. But how can i detect segmentation faults at runtime? For example, my program generates seg. fault and then prompts what to do (and there won't be that stupid "send error report" message from windows)
You can't. The OS (e.g. NT kernel, Linux kernel, BSD kernels) will always detect them and crash the guilty program. There are, however, memory debuggers that can detect problems such as buffer overruns and uninitialized variables as soon as they occur.