关于 xml 库运行时的segmentation fault 问题
最近做一个项目,需要用到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 问题相关推荐
- “ compiler-rt”运行时runtime库
" compiler-rt"运行时runtime库 编译器-rt项目包括: • Builtins-一个简单的库,提供了代码生成和其他运行时runtime组件所需的特定于目标的低级接 ...
- crt 运行时库dll跨模块传递crt对象,出现的崩溃问题
参考链接: https://blog.csdn.net/weixin_30653097/article/details/96512399 (讲述了,运行时库在启动的时候在exe或dll入口点之前就使用 ...
- 如何在VS2005下生成动态运行时库
如果我们的工程采用的是动态链接MFC库,那我们的程序如果拷贝到一个没有转VC的电脑中,我们的程序要想正确运行,除了拷贝程序外,还要将运行时库拷贝过去,下面记录下如何创建动态运行时库: file-> ...
- 什么是c/c++运行时库
什么是c/c++运行时库 在各个版本的编译器中,我们可以通过配置选项来设置程序使用的C和C++运行时库的类型.如下图(其他版本编译器大同小异): MT选项:链接LIB版的C和C++运行库.在链接时就会 ...
- 运行时so库::主动加载C符号
本节主要讨论运行时so库的主动加载C符号, 以飨读者. 对于C/C++程序而言, 很多时候都会自动加载符号.除此之外, 主动加载符号能够让模块实现热插拔, 在程序发布, ...
- C++堆被破坏 运行时库
每个进程都有一个默认堆,在进程初始化的时候会创建这个默认堆,可以通过GetProcessHeap()获取默认堆的句柄.使用CRT时,也会有一个CRT堆,VS项目属性 ~ C/C++ ~ 代码生成 ~ ...
- line 92: 30919 Segmentation fault(core dumped) $CMDDIR/install/.oui -oneclick
问题描述 操作系统:redhat 7 在安装Oracle软件时报错line 92: 30919 Segmentation fault(core dumped) $CMDDIR/install/.oui ...
- ASP.NET HTTP 运行时
ASP.NET HTTP 运行时 一个请求从 URL 字符串到 HTML 代码的"漫长曲折"之路 Dino Esposito Wintellect 2003年7月10日 摘要:本文 ...
- DotNetAnywhere:可供选择的 .NET 运行时
我最近在收听一个名为DotNetRock 的优质播客,其中有以Knockout.js而闻名的Steven Sanderson 正在讨论 " WebAssembly And Blazor &q ...
最新文章
- 分享基于EF6、Unitwork、Autofac的Repository模式设计
- redis中的zset
- UVA11992不错的线段树段更新
- 关于本Blog无法进行评论问题的说明
- HDU 5510 Bazinga 暴力匹配加剪枝
- android开发 存储权限,Android openFileOutput – 没有创建存储的权限
- 计算机安装最新的安全补丁,Win10不要装!微软发布4月安全补丁合集
- jsp 页面刷新_如何应用XML+XSLT+AJAX组合技术实现无刷新数据查询
- android x86 arm translator,让x86的android模拟器能模拟arm架构系统
- 自用shell命令搜集
- java 利用Scanner解析逗号字符串
- CF1041D Glider
- 学习asp.net比较完整的流程 (对初学者有很好的帮助)
- 软件工程计算机类电子信息类,热门的工科专业还要属计算机类、电子信息类、机械类...
- mysql连接显示“message from server :“Host ‘XXXX‘ is not allowed to connect to this MySQL server“”
- MySQL - Failed to open the referenced table XXX
- 百度云不限速详细教程
- 大数据发展促进委员会在京成立
- 数据库优化之降龙十八掌
- 我喜欢出发(汪国真)
热门文章
- 图解weblogic安装
- 图解数据库辅助软件教程
- 经典算法问题 - 最大连续子数列和
- 2016年11月2日——jQuery源码学习笔记
- 字符转十六进制 String = HEX using hexdump on linux
- 把女友升级为老婆的时候发生的BUG
- python3.6 django部署_Centos7 django+uwsgi+nginx+python3.6.8部署
- 【控制】多智能体系统总结。5.系统合并。
- 【控制】《多智能体系统的协同群集运动控制》陈杰老师-第10章-一阶多智能体系统非合作行为检测与隔离
- 【数理知识】《矩阵论》方保镕老师-目录及关于符号的含义