Ubuntu环境下如何编译带有调试符号的libruby库?
重新编译带调试符号的libruby.so(Ubuntu环境)
以下是在Ubuntu上编译带调试符号的Ruby库的具体步骤:
安装编译依赖
先安装编译Ruby所需的基础工具和依赖包:sudo apt update sudo apt install build-essential dpkg-dev sudo apt build-dep ruby3.0获取Ruby 3.0源码
创建临时目录存放源码,然后下载对应版本的Ruby源码:mkdir ~/ruby-debug-build && cd ~/ruby-debug-build apt source ruby3.0配置编译参数
进入源码目录,配置编译选项——开启调试符号、关闭优化(避免调试时代码跳变),同时指定独立安装路径(不覆盖系统默认Ruby):cd ruby3.0-* ./configure --prefix=/usr/local/ruby-debug --enable-debug --disable-optimizations编译并安装
编译源码(-j$(nproc)利用所有CPU核心加速编译),然后安装到指定路径:make -j$(nproc) sudo make install调试时加载编译好的库
调试Perl扩展前,设置环境变量让系统优先加载带调试符号的库:export LD_LIBRARY_PATH=/usr/local/ruby-debug/lib:$LD_LIBRARY_PATH之后启动GDB调试你的程序,即可单步执行Ruby库的函数调用。
验证调试符号
用file命令确认库包含调试符号:file /usr/local/ruby-debug/lib/libruby-3.0.so.3.0输出中出现
with debug_info即表示配置成功。
内容的提问来源于stack exchange,提问作者Håkon Hægland
相关产品推荐
相关产品推荐

