我们的应用之一是在生产中生成核心。然而,生成的核心并没有多大帮助,因为大多数变量值都显示为已优化/它不包含太多调试信息。
当我们将核心从生产环境移动到开发环境时,gdb 无法成功加载它。我认为这是由于在生产中依赖于其他库。
请让我知道我们如何在不移动剩余依赖库的情况下将核心从生产环境迁移到开发环境。
提前致谢
如果开发环境的系统库与生产环境的系统库不匹配,gdb
则会发出警告,并可能无法解码核心文件。您应该ldd
在您的程序上运行以查找它所依赖的库列表,并将这些库从您的生产环境复制到您的开发环境。
将依赖库复制到一个模仿生产环境根目录结构的目录结构中通常很方便(如果你愿意的话,一个假根目录)。然后,您可以使用该gdb
命令set solib-absolute-prefix
将其设置为该假根目录的路径,以便找到库。
这个问题似乎是相关的,如果不是另一个问题的重复的话。