免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 874 | 回复: 0
打印 上一主题 下一主题

[其他] gdb shared library path [复制链接]

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:49:03
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2016-02-23 21:52 |只看该作者 |倒序浏览
本帖最后由 shihyu 于 2016-02-23 21:55 编辑

  1. // foo.c
  2. #include <stdio.h>

  3. int foo(int a, int b)
  4. {
  5.     int s = a + b;
  6.     printf("%d\n", s);
  7.     return s;

  8. }
复制代码
  1. // main.c

  2. extern int foo(int a, int b);
  3. int main(int argc, char* argv[])
  4. {
  5.     int s = foo(10, 20);
  6.     return s;
  7. }
复制代码
// Makefile
  1. all: so main
  2. so:
  3.     gcc -g foo.c -shared -fPIC -o libfoo.so
  4. main:
  5.     gcc -g main.c -L./ -lfoo -o test
  6. clean:
  7.     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

谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP