Chinaunix
标题:
gdb shared library path
[打印本页]
作者:
shihyu
时间:
2016-02-23 21:52
标题:
gdb shared library path
本帖最后由 shihyu 于 2016-02-23 21:55 编辑
// foo.c
#include <stdio.h>
int foo(int a, int b)
{
int s = a + b;
printf("%d\n", s);
return s;
}
复制代码
// main.c
extern int foo(int a, int b);
int main(int argc, char* argv[])
{
int s = foo(10, 20);
return s;
}
复制代码
// Makefile
all: so main
so:
gcc -g foo.c -shared -fPIC -o libfoo.so
main:
gcc -g main.c -L./ -lfoo -o test
clean:
rm -f test *.so
复制代码
就是先编译产生 test执行档跟 libfoo.so , 再把建立两各资料夹src , lib
把程式码 copy main.c & foo.c in src , libfoo.so in lib
使用gdb ./test
预期使用 directory 指定程式码路径 //OK
使用 solib-absolute-prefix & solib-search-path 指定lib 路径 // fail
必须用set env LD_LIBRARY_PATH 才可以指定lib
下面是成功步骤
gdb ./test
directory ./src
set env LD_LIBRARY_PATH ./lib/
问题:
1.为什么 solib-absolute-prefix & solib-search-path 指定lib 不行?
2.
下面四个指令有什么差异?
set solib-absolute-prefix
set solib-search-path
set env LD_LIBRARY_PATH
set debug-file-directory
谢谢
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2