我面临细分错误。 Syslog报告以下内容:
segfault at 0 ip 00000000f71ff256 sp 00000000f44fee50 error 4 in libprotobuf-c.so.0.0.0[f71f8000+f000]
因此,libprotobuf-c.so已加载到0xf71f8000
。当我在gdb中加载相应的核心文件并尝试info sharedlibrary
时,它将FROM
的地址显示为0xf71f9f70
,这与syslog显示的地址不同。我无法理解这种不匹配。有人可以帮忙吗?
0xf71f9f70 0xf7204028 Yes (*) /usr/lib/libprotobuf-c.so.0
答案 0 :(得分:2)
因此,libprotobuf-c.so已加载到
0xf71f8000
。当我将相应的核心文件加载到gdb中并尝试了info sharedlibrary时,它将FROM地址显示为0xf71f9f70
,这与syslog显示的内容不同。
实际上,它们是相同的。 GDB将.text
的开头显示为From
地址。
如果您执行readelf -WS /usr/lib/libprotobuf-c.so.0 | grep '\.text'
,则会发现.text
从0xf71f9f70 - 0xf71f8000 == 0x1f70
开始。