[英]linker issue or other? dynamically loaded lib
我的程序加載了一個動態庫,但是在嘗試加載它之后(它似乎沒有加載,或者至少在加載時出現了問題。free free()
拋出錯誤,我注釋掉了這一行。)
我在gdb中得到以下內容。
Program received signal SIGSEGV, Segmentation fault.
__strlen_ia32 () at ../sysdeps/i386/i686/multiarch/../../i586/strlen.S:99
99 ../sysdeps/i386/i686/multiarch/../../i586/strlen.S: No such file or directory.
in ../sysdeps/i386/i686/multiarch/../../i586/strlen.S
我將如何解決這個問題?
編輯1:
上面的問題是由於我沒有應有的xml文件。
這是我掩蓋的最初顯示的錯誤。
(gdb) s
__dlopen (file=0xbfffd03c "/usr/lib/libvisual-0.5/actor/actor_AVS.so", mode=1)
at dlopen.c:76
76 dlopen.c: No such file or directory.
in dlopen.c
(gdb) bt
#0 __dlopen (file=0xbfffd03c "/usr/lib/libvisual-0.5/actor/actor_AVS.so",
mode=1) at dlopen.c:76
#1 0xb7f8680d in visual_plugin_get_references (
pluginpath=0xbfffd03c "/usr/lib/libvisual-0.5/actor/actor_AVS.so",
count=0xbfffd020) at lv_plugin.c:834
#2 0xb7f86168 in plugin_add_dir_to_list (list=0x804e428,
dir=0x804e288 "/usr/lib/libvisual-0.5/actor") at lv_plugin.c:609
#3 0xb7f86b2b in visual_plugin_get_list (paths=0x804e3d8,
ignore_non_existing=1) at lv_plugin.c:943
#4 0xb7f9c5db in visual_init (argc=0xbffff170, argv=0xbffff174)
at lv_libvisual.c:370
#5 0x080494b7 in main (argc=2, argv=0xbffff204) at client.c:32
(gdb) quit
A debugging session is active.
Inferior 1 [process 3704] will be killed.
Quit anyway? (y or n) y
starlon@lyrical:client$ ls /usr/lib/libvisual-0.5/actor/actor_AVS.so
/usr/lib/libvisual-0.5/actor/actor_AVS.so
starlon@lyrical:client$
該文件存在。 不知道怎么了。 不確定提供什么代碼。
Edit2:有關文件的更多信息。 權限還可以。
816K -rwxr-xr-x 1根根814K 2011-11-08 15:06 /usr/lib/libvisual-0.5/actor/actor_AVS.so
您沒有告訴它什么是動態庫。
如果它是免費的動態庫-或您可以訪問其源的庫-您可以編譯它並在啟用調試的情況下使用它。
幾個Linux發行版-特別是Debian和Ubuntu-提供了許多庫的調試版本(例如GLibc,GTK,Qt等),因此您無需重建它們。 例如,Debian具有libgtk-3-0
軟件包(主要是二進制庫), libgtk-3-dev
的開發文件(標libgtk-3-0-dbg
)和libgtk-3-0-dbg
(該libgtk-3-0-dbg
的調試版本)。圖書館)。 您需要適當地設置LD_LIBRARY_PATH才能使用它(因為它在/usr/lib/debug/usr/lib/libgdk-3.so.0.200.1
)。
有時,使用系統庫的調試變體可以幫助您在自己的代碼中查找錯誤。 (當然,您還需要使用-g -Wall
自己的代碼進行編譯)
原來,這是由於硬盤故障。 看來我需要一個新的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.