[C++] 内存保护
C++有内存保护吗,真的有:
http://en.wikipedia.org/wiki/Buffer_overflow_protection
这个只能保护stack上的buffer,不过已经很有作用了。
写越界写坏callstack的概率低了很多。
提醒:如果callstack没有效信息,更有可能是环境版本不匹配。真正写坏callstack这种事情很罕见的。
另外,用ldd命令可以看两台机器的环境是否一致,注意shared library的地址:
ldd httpd
libz.so.1 => /usr/lib64/libz.so.1 (0x00000033f7e00000)
libm.so.6 => /lib64/libm.so.6 (0x00000033f7200000)
ldd httpd
libz.so.1 => /usr/lib64/libz.so.1 (0x0000003b2cc00000)
libm.so.6 => /lib64/libm.so.6 (0x0000003b2c400000)
如果两台机器的动态库加载地址不一致,则core文件也不能跨机器调试。