keepalived编译出来没有符号表的问题
keepalived编译
cd keepalived-2.2.8
/autogen
.configure
–build=sw 64-linux-gnu
–disable-lvs --disable-bfd --disable-snmp --disable-dbus --disable-7son --disable-clang --disable-lto --disableroutes1-disable-linkbeat --disable-libipset --disable-nftables–disable-track-process --disable-systemd
make -j8
问题
如上编译可以生产keepalive,在bin目录下;
但是nm -a bin/keepalived时提示,没有符号表,因此就无法进行debug;
原因
需要执行make install prefix=安装目录之后;
再通过nm -a 安装目录/sbin/keepalived,就可以看到符号表了。
应该是现在的自动编译流程优化,把符号表的连接放在了make install过程中。
此处记录,后续待查。
在编译keepalived2.2.8版本时,仅执行makej8无法生成带符号表的可执行文件,导致无法进行调试。问题的关键在于缺少执行makeinstall步骤。执行`makeinstallprefix=安装目录`后,可以在指定的安装目录下看到带有符号表的keepalived,适合用于debug。这表明当前的自动编译配置可能已经将生成符号表的步骤包含在makeinstall过程中。
656

被折叠的 条评论
为什么被折叠?



