Unix signal 6, SIGABRT
, is thrown when abort()
is called in the program, or when a process attempts to (de)allocate invalid memory[1]. If I were to simply put abort()
in a program like so:
int main(void)
{
abort();
}
My system would print Aborted
. But, if I were to actually attempt to deallocate invalid memory:
int main(void)
{
free(main);
}
My system prints:
*** Error in `./a.out': munmap_chunk(): invalid pointer: 0x0000000000400536 ***
Aborted
Some systems give an entire stack trace.[2]
I want to turn off this extra information, so that when I attempt to mess with invalid memory, all I see is Aborted
. How can I do that?
Note that this is not a compiler-specific thing, as GCC, TCC, and Clang all show the same thing.