我在/usr/lib路径中有以下库(已剥离(,需要用未剥离的类型替换。
/usr/lib/libdbus-1.so.3.14.7
/usr/lib/liblog4c.so.3.3.0
/usr/lib/libnetsnmp.so.40.0.0
/lib/ld-2.24.so
由于我需要为我的一个进程运行valgrind(比如:snmp-agent进程(,因此使用带有调试符号的libs将有助于识别文件位置、函数名信息。
从/proc/$pid/maps文件中发现,除了snmp代理进程,还有一些其他进程也在使用这些列出的库。那么,当我用同一路径中的未剥离库替换现有的剥离库时,这些进程会发生什么呢。
或
如何在不干扰使用感兴趣的库的其他进程的情况下运行valgrind。
您到底在使用什么操作系统?
通常情况下,您应该安装debuginfo包。大多数Linux发行版都将debuginfo分开,这样您既可以安装剥离的二进制文件,也可以选择安装单独的debuginfo。像gdb和Valgrind这样的工具知道在哪里可以查找debuginfo文件,并会在需要时读取它们。
如果这样做,那么就不需要安装未剥离的二进制文件。