定位一个map相关的coredump来熟悉一下:
Core was generated by `./xuzhina_dump_c07_s3_ex 5 / 6'.
Program terminated with signal 11, Segmentation fault.
#0 0x00000000 in ?? ()
Missing separate debuginfos, use: debuginfo-install glibc-2.12-1.149.el6_6.4.i686 libgcc-4.4.7-11.el6.i686 libstdc++-4.4.7-11.el6.i686
(gdb) bt
#0 0x00000000 in ?? ()
#1 0x08048bd0 in main ()
(gdb) i r
eax 0x5 5
ecx 0x0 0
edx 0x0 0
ebx 0x6 6
esp 0xbfd3de7c 0xbfd3de7c
ebp 0xbfd3dee8 0xbfd3dee8
esi 0x0 0
edi 0x0 0
eip 0x0 0
eflags 0x210296 [ PF AF SF IF RF ID ]
cs 0x73 115
ss 0x7b 123
ds 0x7b 123
es 0x7b 123
fs 0x0 0
gs 0x33 51
由于栈顶的指令地址为0x0,而eip的值也是0x0,可以知道是调用了函数指针,且函数指针的值为空.而这个函数指针是由main函数调用
更多内容请关注微信公众号“debugeeker",链接为https://mp.weixin.qq.com/s/OvggicoAMXu_vWK8runNXw