C++ 核心文件中的指令指针地址不在可执行文件映射文件列出的函数地址范围内

C++ 核心文件中的指令指针地址不在可执行文件映射文件列出的函数地址范围内,c++,debugging,coredump,map-files,C++,Debugging,Coredump,Map Files,我正在尝试使用可执行文件的核心文件和映射文件查找崩溃的位置。核心文件指示的崩溃位置是0xb84cc923。但可执行文件的映射文件在崩溃位置附近没有任何条目。几乎所有函数条目都在该范围内 0x0804de68 0x0804de78 0x0804de88 0x0804de98 0x0804dea8 0x0804deb8 0x0804dec8 0x0804ED8 0x0804dee8 0x0804def8 0x0804df08 0x0804df18 0x0804df28 我需要在计算中加入任何偏移吗?

我正在尝试使用可执行文件的核心文件和映射文件查找崩溃的位置。核心文件指示的崩溃位置是0xb84cc923。但可执行文件的映射文件在崩溃位置附近没有任何条目。几乎所有函数条目都在该范围内

0x0804de68 0x0804de78 0x0804de88 0x0804de98 0x0804dea8 0x0804deb8 0x0804dec8 0x0804ED8 0x0804dee8 0x0804def8 0x0804df08 0x0804df18 0x0804df28


我需要在计算中加入任何偏移吗?

这并不少见。您需要查看堆栈,找出对非法地址的跳转/调用是如何以及从何而来的。哦,+1只是为了尝试一些调试-这是越来越罕见的:(…可能是崩溃发生在一个系统调用中,该调用实际上位于虚拟内存中的该地址:(@MartinJames感谢您的输入。正如您所指出的,崩溃发生在由可执行文件加载的动态库(.so)上。在可执行文件上进行了ldd,从而泄露了罪魁祸首。