非法内存访问会产生SIGSEGV signal,
测试代码如下:
#include <unistd.h>
#include <stdio.h>
static void _crash_test(void)
{
char* pt_str = "test_string";
*pt_str = 'o';
}
int main(int argc, char* argv[])
{
printf("\ntest main");
_crash_test();
while(1)
{
sleep(5);
}
exit(0);
}
1. 如果symbol被strip掉了,core dump的结果无法看到清楚的callstack。
sh-# ./gdb -c ./core_file ./test_main
GNU gdb (GDB) 7.1
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <