Welcome to Software Development on Codidact!
Will you help us build our independent community of developers helping developers? We're small and trying to grow. We welcome questions about all aspects of software development, from design to code to QA and more. Got questions? Got answers? Got code you'd like someone to review? Please join us.
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?
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 thread