日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發布時間:2025/4/5 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 关于 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 问题的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。