Linux怎么查看进程的共享库依赖 Linux下pldd与ldd命令详解
ldd查的是可执行文件静态声明的依赖,pldd查的是进程运行时实际加载的共享库;ldd仅解析ELF的DT_NEEDED条目且不接触进程内存,无法反映dlopen、LD_PRELOAD等动态行为,而pldd通过读取/proc/PID/maps直接获取运行时真实映射,需root权限。
直接说结论: ldd 查的是「可执行文件静态声明的依赖」,pldd 查的是「进程运行时实际加载的共享库」——两者根本不是一回事,不能互相替代。
为什么 ldd 不能用来查正在运行的进程?
ldd 本质是解析 ELF 文件的 DT_NEEDED 条目,再模拟动态链接器加载行为。它根本不接触进程内存,只读磁盘上的二进制文件。
- 对已启动的进程,
ldd /proc/1234/exe看到的仍是该程序**编译时声明的依赖**,不是它此刻真正用到的库(比如 dlopen 动态加载的) - 如果进程用了
LD_PRELOAD、自定义rtld或修改了ld.so.cache,ldd完全无法反映 - 更严重的是:
ldd在某些旧版 glibc 中会真实执行目标程序的初始化代码,对不可信二进制有安全风险
pldd 是什么,为什么必须用 root 运行?
pldd 直接读取 /proc//maps 和 /proc//mem,从中提取当前进程地址空间里所有被 mmap 的 .so 文件路径。这属于内核暴露的运行时状态。
- 必须
sudo pldd,因为普通用户无权读取/proc//mem - 输出里能看到
libpython3.10.so.1.0这类由import触发加载的库,ldd永远列不出来 - 若进程已崩溃或处于
T(stopped)状态,pldd可能失败并报Operation not permitted
实际排查时怎么选:ldd 还是 pldd?
看你要解决的问题类型:
Docker Desktop(linux)
当前 Docker 最新稳定版本之一,主要针对稳定性和兼容性进行了修复优化,适合生产环境与日常开发使用。该版本继续强化 AI 开发支持、容器日志管理以及 Docker Engine 的安全能力,对 Windows/macOS/Linux 平台兼容性进行了进一步优化。
下载
- 程序启动就报
error while loading shared libraries: libxxx.so: cannot open shared object file→ 用ldd ./myapp | grep "not found" - 程序能启动但运行中突然 segfault,怀疑某库版本不匹配或被覆盖 → 用
sudo pldd | grep libxxx确认实际加载的是哪个路径 - 想验证
LD_LIBRARY_PATH是否生效 →pldd输出里会出现你指定路径下的库;ldd不受运行时环境变量影响 - 检查是否真有 dlopen 行为 →
pldd会列出那些没出现在ldd结果里的库,比如libcuda.so.1(CUDA 应用常见)
安全替代方案:不用 ldd 也能看静态依赖
当面对来源不明的二进制,又需要确认它声明了哪些库时,避免 ldd 的执行风险:
-
readelf -d ./malware.bin | grep NEEDED—— 最轻量,只解析 ELF 动态段 -
objdump -p ./malware.bin | grep NEEDED—— 输出格式稍不同,但等价 - 注意:这两个命令都**不会触发任何代码执行**,也不依赖 glibc 版本
真正容易被忽略的点是:pldd 看到的库路径可能来自 /proc//maps 的 pathname 字段,而这个字段在内核中可能为空(比如匿名 mmap 或被 unlink 的 so),此时 pldd 就显示 [anon] —— 这种情况只能结合 strace -e trace=openat,openat64 -p 追踪实际打开行为。
如非特殊说明,本站内容均来自于网友自主分享,如有任何问题均请联系我们进行处理!
猜您喜欢
大航海时代:起源达芬奇技能详解
2026-07-09大航海时代:起源达芬奇技能效果介绍,达芬奇既能在海战中强化冲破突击与舰队机动,又能在白刃战中兼顾攻防,同时覆盖贵金属贸易、资源采集与探险玩法,适配主打冲破战术、兼顾跑商与多玩法体验的提督。 大航海时代:起源达芬奇技能详解: 一、技能 海战技能 达芬奇拥有【冲破威力强化】与【额外机动力增加】两大技能,既能在回合内提升目标的冲破攻击力与射程,强化舰队的破阵突击能力,又能为所有友军提升额外机动力,抢占战...
境·界刀鸣阿波罗技能详解
2026-07-07境·界刀鸣阿波罗技能介绍,在《境·界刀鸣》中,萨尔阿波罗定位为灵系支援SSR角色,核心机制围绕伤害转移、团队承伤与生存回复展开,兼具独特的控制能力。 境·界刀鸣阿波罗技能详解: 一、角色定位 萨尔阿波罗并非传统输出位,而是前排肉盾兼辅助,通过“受胎告知”和被动分担机制吸收火力,适合搭配高爆发输出(如黑崎一护)及治疗角色(如井上织姬)组成稳定阵容 。 二、核心技能详解 受胎...
《太吾绘卷:天幕心帷》创建人物详解攻略分享
2026-07-03《太吾绘卷:天幕心帷》中的创建人物选择是游戏里非常重要的事情,而创建人物需要注意的事情有很多,首先是捏脸选择性别,男女都可以,男性的优势就是可以多生很多孩子,女性的优势就是可以进行幼教胎教以及与他人初识的好感度会更高。 太吾绘卷天幕心帷创建人物要注意什么 本文内容来源于互联网,如有侵权请联系删除。
三国志:王道天下周瑜武将详解
2026-06-24三国志王道天下周瑜怎么样,周瑜+孙策+张昭/大乔是一个利用激流之书+流言四起/龙战于野等战法与孙策配合打出前三回合高概率控制,多种持续性状态配合周瑜打出高额输出,多种控制配合张昭/大乔使敌方受到伤害提升的爆发法师队。 三国志:王道天下周瑜武将详解: 一、周瑜武将解析 周瑜 强度评级:T0 7将御输出将 50级面板: 武力102.4,智力228.8,统率188.1,速度66.5。 满级智力全游戏第3...
月相计划伊莲娜技能详解
2026-06-18月相计划伊莲娜技能效果一览,在游戏里,金币就是生命。其他角色需要花钱买武器、花钱刷新商店,而伊莲娜每个回合都在白嫖!只要你场上凑出了强力羁绊,她每回合就会稳定产出同类武器。这不仅省下了巨额金币,还能让你比对手更快地合成高星级神装。 月相计划伊莲娜技能详解: 一、基础档案 伊莲娜的外表是戳中很多人XP的“黑皮白毛”御姐,但在酷飒的外表下,她是目前版本最强的运营型特工。 二、技能详解 天赋:寻宝专家 ...
灵武世界安琪拉角色技能详解
2026-06-05灵武世界安琪拉角色技能介绍,安琪拉是绝对实力远程UR英雄,场上有队友生命低于30%时,净化队友并使其无敌3秒。在10秒使其每秒恢复攻击力96%的生命值,每场战斗最多触发1次,实在是加血、驱散、护盾实在是辅助第一任选!! 灵武世界安琪拉角色技能详解: 一、角色介绍 【名字】:安琪拉 【定位】:魔法/增益治疗 【爱好】:园艺、午睡 【天赋】:怜悯之心--场上有队友生命低于30%时,净化队友并使其无敌3...
灵武世界UR英雄莫贝拉技能详解
2026-06-05灵武世界莫贝拉技能一览,莫贝拉是一位群伤魔法师,属于黑暗阵营,莫贝拉的大招:厄运曼陀罗对全屏范围敌人造成4次莫贝拉攻击194%的魔法伤害,并降低敌人24%物理伤害和20%的攻击速度。 灵武世界UR英雄莫贝拉技能详解: 一、角色介绍 【名称】:莫贝拉 【定位】:魔方/控制群伤 【天赋】:魔女体制--初始怒气增加50,出战时降低敌人15点怒气 【被动】:死者永生--单次受到的伤害不超过自身血量上限的3...
育碧加速《全境封锁3》开发进程 大规模招聘核心岗位
2026-06-05尽管育碧当前正面临诸多挑战,但公司未来的产品线依然令人期待,包括《刺客信条:黑旗记忆重置》《雷曼:传奇重制版》等作品均已提上日程。与此同时,育碧旗下另一款备受关注的IP——《全境封锁》系列的最新续作,似乎也迎来了开发提速的信号。 据Tech4Gamers报道,育碧近日发布了7个专门针对《全境封锁3》的新职位招聘信息,涉及多个核心开发岗位,包括:首席游戏设计师、高级AI游戏设计师、动画总监以及其他关...
多开分身怎么恢复默认设置?重置方法详解
2026-06-04华为/荣耀可直接在设置→应用和服务→应用分身→右上角三点→重置应用分身;小米/Redmi需在手机分身界面长按空白处选删除分身;一加/realme/OPPO须进入应用分身→高级设置→三点→重置所有应用分身。 想把手机里所有应用分身全部清空、回到最初没开过分身的状态,而不是一个个手动关掉,就得用系统级的重置功能——它会直接删除所有分身数据和配置,不保留任何残留。 华为/荣耀(HarmonyOS)一键重...
电脑怎么截取视频长图?视频帧拼长图操作详解
2026-06-04推荐使用风云视频转换器批量截取并自动拼接成长图:导入视频后设置连续截图时间段与间隔,开启“输出长图”开关,一键生成高清竖向长图。 想把一段视频里连续十几秒的关键画面合成一张竖向长图用于汇报或存档,但普通截图只能一帧一帧截、手动拼接又费时费力,还容易错位拉伸变形。 用风云视频转换器批量截取视频帧并自动拼成长图 第一步:打开风云视频转换器,点击主界面【视频截图】功能模块。 第二步:点击蓝色“+”号按钮...
