Sign Up Sign In

Generate SIGSEGV without undefined behaviour.


In order to test that coredumps are generated and that they contain useful information which can be retreived with gdb I need to generate a SIGSEGV. Or anything else which causes a coredump.

The code I am using is:

int *p = nullptr;
*p = 0;

Which works fine but is undefined behaviour. It might as well not generate a SIGSEGV at all.

Is there a portable way to raise that signal? And if not, is there an implementation specific documented way to do so with gcc?

Why should this post be closed?


1 answer


SIGSEGV is defined in the C header signal.h. To generate the signal, it should be sufficient to just do raise(SIGSEGV);. As far as I know, this is well-defined behavior.

1 comment

This has worked fine. Thanks. ‭Estela‭ 22 days ago

Sign up to answer this question »