设为首页
收藏本站
用户名
Email
自动登录
找回密码
密码
登录
注册
快捷导航
平台
Portal
论坛
BBS
文库
项目
群组
Group
我的博客
Space
搜索
搜索
热搜:
shell
linux
mysql
本版
用户
LinuxSir.cn,穿越时空的Linuxsir!
»
论坛
›
编程开发讨论区 —— LinuxSir.cn
›
Linux 程序设计专题讨论
›
有没有好的调试.so的办法.
返回列表
查看:
1348
|
回复:
7
有没有好的调试.so的办法.
[复制链接]
genjuro_lyb
genjuro_lyb
当前离线
积分
7
IP卡
狗仔卡
发表于 2003-5-23 09:24:23
|
显示全部楼层
|
阅读模式
直接gdb .so , 再attach pid 可以么? 好象说不对。
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
显身卡
无双
无双
当前离线
积分
1799
IP卡
狗仔卡
发表于 2003-5-23 12:00:19
|
显示全部楼层
应该是不可能
如果是静态调用的话
那么地调用点step in
当然这要求你的程序与so都是加-g
回复
支持
反对
使用道具
举报
显身卡
genjuro_lyb
genjuro_lyb
当前离线
积分
7
IP卡
狗仔卡
楼主
|
发表于 2003-5-23 12:07:09
|
显示全部楼层
那dlopen()的而且没有source code的这些怎么办?
如题.
回复
支持
反对
使用道具
举报
显身卡
无双
无双
当前离线
积分
1799
IP卡
狗仔卡
发表于 2003-5-23 12:22:35
|
显示全部楼层
没有source code的话没有办法调试的
如果有source code的话也是可以调试的
回复
支持
反对
使用道具
举报
显身卡
viper
viper
当前离线
积分
443
IP卡
狗仔卡
发表于 2003-5-23 21:55:00
|
显示全部楼层
dlopen() 有点麻烦。
刚才试验了一下,也可以调试的。
等到 dlopen() 成功了以后,被 dlopen() 的共享库的符号表就进来了,
这以后,可以在库里面的函数上设置断点,跟踪调试。
编译的时候要有 -g 选项,当然也不能被 strip 过。
要有source code,否则,只能看到函数名,不能看到源程序了。
回复
支持
反对
使用道具
举报
显身卡
viper
viper
当前离线
积分
443
IP卡
狗仔卡
发表于 2003-5-24 02:57:12
|
显示全部楼层
罗嗦一下,像 gdb xxxx.so 这样的命令是不行的,xxxx.so 自己不可以运行的嘛。
回复
支持
反对
使用道具
举报
显身卡
genjuro_lyb
genjuro_lyb
当前离线
积分
7
IP卡
狗仔卡
楼主
|
发表于 2003-5-25 15:10:16
|
显示全部楼层
我知道不能直接调试.so.但是我以为attach可以从该Process中得到.so的函数实际地址,
原来还是得从dlopen()进去。
回复
支持
反对
使用道具
举报
显身卡
viper
viper
当前离线
积分
443
IP卡
狗仔卡
发表于 2003-5-26 00:23:03
|
显示全部楼层
?????? dlopen() ?????.so?????????
????????????????? .so ?????
回复
支持
反对
使用道具
举报
显身卡
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册
本版积分规则
发表回复
回帖后跳转到最后一页
浏览过的版块
SuSE Linux
Redhat/Fedora/CentOS Linux
Slackware Linux
Java 程序设计开发讨论
MySQL
Archlinux讨论区
硬件设备 Linux 驱动
shell进阶应用、shell编程
BSD 讨论专题
Linux 发行版其他专题
Copyright © 2002-2023
LinuxSir.cn
(http://www.linuxsir.cn/) 版权所有 All Rights Reserved.
Powered by
RedflagLinux!
技术支持:
中科红旗
|
京ICP备19024520号
快速回复
返回顶部
返回列表