转自:http://blog.csdn.net/john_crash/article/details/46971535 对于Linux,Mac OS X,android,如果你使用gcc或者编译器使用glibc,你能使用backtrace()函数来打印堆栈信息,backtrace在execinfo.h中申明。 这里有一个例子,安装一个SIGSEGV处理用来打印stacktrace到stde
空指针解引用引起程序奔溃是c/c++中最常见的稳定性错误之一。 显然并非所有使用空指针的语句都会导致奔溃,那什么情况下使用空指针才会引起程序奔溃呢?有一个判断标准:判断空指针是否会导致访问非法内存的情况,如果会导致访问非法内存就会奔溃,否则不会奔溃。 常见的空指针操作 考虑下面的代码,用到空指针test的6条语句(#1~#6)中哪些会引起程序奔溃? struct Test {void met