我们提供了一个共享库,供客户用来集成到他们的产品中。
我们从客户那里得到了一个核心转储,通过查看info proc mappings
可以看到加载的模块,而在thread apply all bt
可以看到堆栈跟踪中的条目在我们的范围内。库已加载。因此,我们的lib可能导致崩溃。但是我们无权访问客户使用的可执行文件。
如果我们只有出厂的共享库,而没有主要的可执行文件,是否有办法在此核心转储中获取符号?
我尝试使用file命令加载内核和库,反之亦然,但是堆栈跟踪未显示任何符号。
Internet上的大多数示例似乎暗示您可以访问可执行文件本身,以获取有意义的符号。 如果将共享库加载到GDB中,是否可以仅获取共享库的符号?
其他详细信息:生产系统使用的GCC与PC上安装的GCC不同(更旧)。并且我们提供了该库的未压缩版本,我们发布了已剥离的库。