最近做一个项目,需要用到xml库加载xml文件。程序编译运行的环境是centos6.5+gcc4.7。

由于使用的centos6.5是简单安装的,因此一些依赖库都是自己下载rpm安装包安装,其中就包括libxml2。

问题出现了,两台简单安装的centos linux 环境虚拟机,一台上面正常运行,一台上面加载xml文件时出现segmentation fault 。

解决过程:

1、bt查看segmentation fault 堆栈,发现死在libc.so.6 中。

2、在另一台正常运行的机器上加断点,对比两个调用栈,发现调用的接口名都是一样。

3、继续找堆栈中的不同,堆栈上面有一些依赖库文件的版本信息,挨个对比,发现正常运行的依赖库中有一个zlib-1.2.3,而出现segmentation fault 的依赖库中没有。

4、使用rpm -qa zlib 查看zlib的版本,发现出现segmentation fault的机器上有两个版本的libz-1.2.3 和 1.2.5。

5、使用rpm -ql zlib 查找zlib所在的路径,进一步对比。segmentation fault的机器上libz.so 软连接的是高版本的libz-1.2.5.

6、删掉segmentation fault的机器上的libz-1.2.5,将libz.so重新软连接到libz-1.2.3,再运行一下程序,segmentation fault的错误没有了,程序正常运行!

总结:这是本人作为一个新手解决问题的方法,有大牛告诉我可以查看符号表,貌似是nm命令,如果上面的方法不能解决问题,大家可以尝试一下nm。希望能帮到大家!

转载于:https://www.cnblogs.com/liuxftj/p/liuxf8676_tj.html

关于 xml 库运行时的segmentation fault 问题相关推荐

  1. “ compiler-rt”运行时runtime库

    " compiler-rt"运行时runtime库 编译器-rt项目包括: • Builtins-一个简单的库,提供了代码生成和其他运行时runtime组件所需的特定于目标的低级接 ...

  2. crt 运行时库dll跨模块传递crt对象,出现的崩溃问题

    参考链接: https://blog.csdn.net/weixin_30653097/article/details/96512399 (讲述了,运行时库在启动的时候在exe或dll入口点之前就使用 ...

  3. 如何在VS2005下生成动态运行时库

    如果我们的工程采用的是动态链接MFC库,那我们的程序如果拷贝到一个没有转VC的电脑中,我们的程序要想正确运行,除了拷贝程序外,还要将运行时库拷贝过去,下面记录下如何创建动态运行时库: file-> ...

  4. 什么是c/c++运行时库

    什么是c/c++运行时库 在各个版本的编译器中,我们可以通过配置选项来设置程序使用的C和C++运行时库的类型.如下图(其他版本编译器大同小异): MT选项:链接LIB版的C和C++运行库.在链接时就会 ...

  5. 运行时so库::主动加载C符号

            本节主要讨论运行时so库的主动加载C符号, 以飨读者.         对于C/C++程序而言, 很多时候都会自动加载符号.除此之外, 主动加载符号能够让模块实现热插拔, 在程序发布, ...

  6. C++堆被破坏 运行时库

    每个进程都有一个默认堆,在进程初始化的时候会创建这个默认堆,可以通过GetProcessHeap()获取默认堆的句柄.使用CRT时,也会有一个CRT堆,VS项目属性 ~ C/C++ ~ 代码生成 ~ ...

  7. line 92: 30919 Segmentation fault(core dumped) $CMDDIR/install/.oui -oneclick

    问题描述 操作系统:redhat 7 在安装Oracle软件时报错line 92: 30919 Segmentation fault(core dumped) $CMDDIR/install/.oui ...

  8. ASP.NET HTTP 运行时

    ASP.NET HTTP 运行时 一个请求从 URL 字符串到 HTML 代码的"漫长曲折"之路 Dino Esposito Wintellect 2003年7月10日 摘要:本文 ...

  9. DotNetAnywhere:可供选择的 .NET 运行时

    我最近在收听一个名为DotNetRock 的优质播客,其中有以Knockout.js而闻名的Steven Sanderson 正在讨论 " WebAssembly And Blazor &q ...

最新文章

  1. 分享基于EF6、Unitwork、Autofac的Repository模式设计
  2. redis中的zset
  3. UVA11992不错的线段树段更新
  4. 关于本Blog无法进行评论问题的说明
  5. HDU 5510 Bazinga 暴力匹配加剪枝
  6. android开发 存储权限,Android openFileOutput – 没有创建存储的权限
  7. 计算机安装最新的安全补丁,Win10不要装!微软发布4月安全补丁合集
  8. jsp 页面刷新_如何应用XML+XSLT+AJAX组合技术实现无刷新数据查询
  9. android x86 arm translator,让x86的android模拟器能模拟arm架构系统
  10. 自用shell命令搜集
  11. java 利用Scanner解析逗号字符串
  12. CF1041D Glider
  13. 学习asp.net比较完整的流程 (对初学者有很好的帮助)
  14. 软件工程计算机类电子信息类,热门的工科专业还要属计算机类、电子信息类、机械类...
  15. mysql连接显示“message from server :“Host ‘XXXX‘ is not allowed to connect to this MySQL server“”
  16. MySQL - Failed to open the referenced table XXX
  17. 百度云不限速详细教程
  18. 大数据发展促进委员会在京成立
  19. 数据库优化之降龙十八掌
  20. 我喜欢出发(汪国真)

热门文章

  1. 图解weblogic安装
  2. 图解数据库辅助软件教程
  3. 经典算法问题 - 最大连续子数列和
  4. 2016年11月2日——jQuery源码学习笔记
  5. 字符转十六进制 String = HEX using hexdump on linux
  6. 把女友升级为老婆的时候发生的BUG
  7. python3.6 django部署_Centos7 django+uwsgi+nginx+python3.6.8部署
  8. 【控制】多智能体系统总结。5.系统合并。
  9. 【控制】《多智能体系统的协同群集运动控制》陈杰老师-第10章-一阶多智能体系统非合作行为检测与隔离
  10. 【数理知识】《矩阵论》方保镕老师-目录及关于符号的含义