比 find + grep 更好用的 nm + addr2line

find + grep 大家都会用了。

在有 debug_info 的可执行文件时,nm + addr2line 更合适

先使用 nm 找到某个符号的地址,比如 main

bash 复制代码
nm qemu-6.0.0/build/qemu-system-riscv64 | grep "\bmain\b"
# 结果如下
00000000002bc410 T main

随后使用 addr2line 找到对应行号:

bash 复制代码
addr2line -e qemu-6.0.0/build/qemu-system-riscv64 0x2bc410
# 结果如下
./qemu-6.0.0/build/../softmmu/main.c:48

直接得到行号,不用自己慢慢筛选 find + grep 的结果,也不用使用 gdb + break 去看。

相关推荐
邪修king1 小时前
Re:Linux 系统篇(三十五):进程间通信Chapter2:从匿名管道到进程池:Linux 进程间通信实战(深度理解「先描述,再组织」)
java·linux·运维
2301_777998341 小时前
ARP协议进阶:ARP缓存、RARP与ARP欺骗原理解析
linux·服务器·网络·网络协议·缓存
Zenova EdgeOS8 小时前
Linux 内核日志 dmesg 进阶实战:从现场过滤到持久化闭环
linux·运维·服务器
郝亚军9 小时前
ec_private.pem的生成方法
linux·运维·服务器
NendoZen9 小时前
Arch Linux解决Grub无法SAVEDEFAULT问题(uki启动问题)
linux·运维·服务器
忆挽篱笙歌10 小时前
进程控制管理
linux·运维·服务器
Escalating_xu11 小时前
【Linux 网络编程】connect 的断线重连:用状态机写一个能恢复连接的 TCP 客户端
linux·网络·tcp/ip
Zucker n12 小时前
英语“论文”语法检查工具
linux·windows
苏宸啊12 小时前
Reactor反应堆模式
linux
骇客野人13 小时前
Linux 全套实操方案(含目录详解、文件传输、日志、文件规范、环境变量、Java 应用部署运维)
java·linux·运维