GDB 调试进程手动加载动态库的方法
如果进程通过 dlopen() 手动加载动态库,某些情况下不能被 GDB 识别调试符号,这个时候可以通过 GDB 的 add symbol file file address 命令来手动添加调试符号,address 是动态库在进程中的 text 段 entry 地址,考虑动态库只有加载到进程中,才能得知真正的内存地址,因此我们可以通过 GDB 的 info
如果进程通过 dlopen() 手动加载动态库,某些情况下不能被 GDB 识别调试符号,这个时候可以通过 GDB 的 add symbol file file address 命令来手动添加调试符号,address 是动态库在进程中的 text 段 entry 地址,考虑动态库只有加载到进程中,才能得知真正的内存地址,因此我们可以通过 GDB 的 info
GDB 是 GNU Debugger 的简称,属于 GNU 项目的一部分,是一款功能强大且广泛使用的命令行调试工具,专为 Unix 和类 Unix 操作系统设计,尤其在 Linux 环境下是程序员首选的调试工具之一。GDB 主要用于调试 C、C++、Pascal、FORTRAN、Ada、Objective C、Free Pascal、Go 等多种编程语言编写