gdb 调试动态库遇到 objectdir 错误提示

转载 2015年07月07日 17:39:24

今天在HP UNIX上面使用gdb调试so动态库遇到个错误,总结了一下,和大家分享下,以后遇到这样的错误,可以参考参考:

ERROR: Use the "objectdir" command to specify the search

path for objectfile test.o.
If NOT specified will behave as a non -g compiled binary.

Breakpoint 2 at 0x9fffffffbf5ff8d1:2 from /tmp/test.so.

解决办法:
1.要把代码和object文件都传到需要调试的机器上面(如果文件比较多,传tar包比较方便)(参考注释1)
2.然后把目录的绝对路径整理出来(参考注释2)
3.进入gdb后
4.执行directory和objectdir命令,这两个分别是代码和.o的绝对路径,目录直接使用冒号:分隔
directory     path1:patch2:patch3...pathn
objectdir     path1:patch2:patch3...pathn

5.设置断点调试



注释1:

cp -R /tmp1/test /tmp/bak
tar -cvf bak.tar ./bak/*
gzip bak.tar
ls /tmp/bak.tar.gz


注释2:

可以到解压的根目录bak下执行find `pwd`  -type d | tr '\n' ':'
就能列出所有的目录了





其他:

如果在p 变量的时候遇到下面的错误:

(gdb) p i
$2 = <value unavailable at address 0x9fffffffbf568860>


解决:

+O2,把makefile里面这个去掉,才能打印变量

或者

CFLAG = -D_REENTRANT +O2 (去掉)
CXXFLAG = -g0
就这两个优化参数,有哪个改哪个就行




Sqlplus登录时出现无法定位程序输入点longjmp于动态链接库的错误提示

问题描述:当我们如下Oracle sqlplus登录时出现无法定位程序输入点longjmp于动态链接库D:\app\porry\product\11.2.0\dbhome_1\bin\oracore1...

动态错误提示效果Android

  • 2016年01月07日 17:09
  • 5.82MB
  • 下载

手把手带你画一个动态错误提示 Android自定义view

嗯。。再差1篇就可以获得持之以恒徽章了,今天带大家画一个比较简单的view。 废话不多说,看效果图: 首先 构造函数 测量... 这里就一笔带过了。  public ErrorView(Cont...

linux gdb调试动态库(so)的方法

原文地址: http://www.gonwan.com/?tag=gdb 在本例中使用了libcurl.so.4库 step1: 编译libcurl.so.4的可调试版本: # su...

gdb动态库调试分析文档

本文基于linux应用程序本地调试分析,阐述了linux应用程序动态库调试的机制。...

与符号表分离程序或动态库, 如何用GDB调试

1       Debugging Information in Separate Files GDB支持用户将程序调试信息放在一个独立的文件里,而不是和可执行程序在一个文件中,GDB可以某种方...

Linux下gdb 调试应用程序与动态库

在 Linux 可以用 gdb 来调试应用程序,当然前提是用 gcc 编译程序时要加上 -g 参数。我这篇文章里将讨论一下用 gdb 来调试动态链接库的问题。首先,假设我们准备这样的一个动态链接库:引...
  • coloriy
  • coloriy
  • 2015年08月10日 14:05
  • 358

利用telnet发送邮件遇到554 DT:SPM错误提示

com.sun.mail.smtp.SMTPSendFailedException: 554 DT:SPM 163 smtp4,DtGowAC39BkEKIxX2VoCAA–.130S2 146880...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:gdb 调试动态库遇到 objectdir 错误提示
举报原因:
原因补充:

(最多只允许输入30个字)