使用混合发行版调试核心文件
当遇到与开发环境不同的客户 Linux 系统上生成的核心文件时,堆栈跟踪由于库地址可能不匹配,可能没有意义。
解决堆栈跟踪歧义
要解决此问题,请从客户系统获取可执行文件使用的共享库。将它们压缩成 tarball 并将它们解压到开发系统上的临时目录中。在 GDB 中,设置 solib-absolute-prefix 指向该目录。这将使 GDB 能够加载正确的库版本并生成准确的堆栈跟踪。
调试最佳实践
要简化调试,请使用 -g 创建调试二进制文件-O2 优化标志。使用 strip -g 从分发给客户的最终二进制文件中删除调试符号。收到核心文件后,使用带有完整符号信息的调试二进制文件以方便调试。
适用于 Linux 和 Solaris 的替代调试资源
以上是如何调试不同Linux发行版上生成的核心文件?的详细内容。更多信息请关注PHP中文网其他相关文章!